Rico Napisano Grudzień 31, 2010 Udostępnij Napisano Grudzień 31, 2010 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 Cytuj Link do komentarza Share on other sites More sharing options...
MirekCz Grudzień 31, 2010 Udostępnij Grudzień 31, 2010 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ć. Cytuj Link do komentarza Share on other sites More sharing options...
Rico Styczeń 3, 2011 Autor tematu Udostępnij Styczeń 3, 2011 Przepraszam możesz powiedzieć coś więcej o podpunkcie 2 bo nie do końca rozumiem co chciałeś powiedzieć. Cytuj Link do komentarza Share on other sites More sharing options...
razors Styczeń 3, 2011 Udostępnij Styczeń 3, 2011 wklej program Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
nes86 Styczeń 3, 2011 Udostępnij Styczeń 3, 2011 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" Cytuj Link do komentarza Share on other sites More sharing options...
Rico Styczeń 4, 2011 Autor tematu Udostępnij Styczeń 4, 2011 Wielki dzięki za pomoc już wszystko działa Cytuj Link do komentarza Share on other sites More sharing options...
Armir Styczeń 5, 2011 Udostępnij Styczeń 5, 2011 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. Cytuj Link do komentarza Share on other sites More sharing options...
MirekCz Styczeń 5, 2011 Udostępnij Styczeń 5, 2011 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. Cytuj Link do komentarza Share on other sites More sharing options...
Armir Styczeń 5, 2011 Udostępnij Styczeń 5, 2011 Pomyliło mi się p z t. Dzięki 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!