Skocz do zawartości

[c][atmega128]


Pomocna odpowiedź

Napisano

Hej

mam problem z atmega128, dzieją mi się dziwne cuda 🤯

Kod całego programu mam pogrupowany na funkcje, i pewne instrukcje gdy są w funkcji powodują "zacięcie" uC,

Dla przykładu gdy poniższa linia kodu znajduje się w funkcji procek się zacina a gdy wrzucę ja tak po prostu do maina zaraz pod tą funkcją wszystko działa jak powinno że aż miło

PORTC |= _BV(0);

Tego typu dziwne cuda mi się dzieją ma ktoś jakiś pomysł

PS: Szczęśliwego roku

Jak duży jest program? Ile pamięci RAM zajmujesz na użytek swój i wszystkich funkcji?

Widzę dwie możliwości:

1.Inicjalizujesz za dużo pamięci i w pewnym momencie przekraczasz bufor i dzieją się cuda (bo np. stos zapisuje informacje na Twoich danych itp.)

2.Nie zmieniłeś trybu procesora z kompatybilności ze starą rodziną na pełną atmega128 co też może różne dziwne rzeczy powodować.

Przepraszam możesz powiedzieć coś więcej o podpunkcie 2 bo nie do końca rozumiem co chciałeś powiedzieć.

Przepraszam możesz powiedzieć coś więcej o podpunkcie 2 bo nie do końca rozumiem co chciałeś powiedzieć.

musisz przestawić fusebita odpowiedzialnego za kompatybilność z ATmegą103. Domyślnie jest on ustawiony na tryb zgodności i objawia się to tym, że program nie wykona ci żadnej funkcji, właśnie tak jak napisałeś.

Chodzi dokładnie o bit M103C (drugi bit) w fusebitach "EXTENDED"

Mam jedno pytanie przy okazji. Atmegę 128 przez isp programuje się po tdi i tdo zamiast miso mosi. Są to piny jtag. Jak wyłączę obsługę jtaga to powinna się programować po isp? Szukałem w DS ale nie znalazłem.

Nie, do ISP masz PDI i PDO(PE0/PE1). Jak chcesz wyłączyć JTAG jak ISP nie działa? 😃

Pamiętaj natomiast przeprogramować fusebit atmega103 compatibility mode, bo domyślnie z fusebitów atmega128 robi za atmega103.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...