Hallo vielleicht kannmit jemand helfen. Bin gerade dabei ein Programm zuschreiben und habe die delay.h eingebunden nur jedesmal wenn der controller das display initialiesieren soll hängt er sich beim zugriff aus delay_ms(50)z.B. auf. habe auch versucht nur eine led damit zum blinken zu bekommen hängt sich an dem punkt beim zugriff auf delay auf. hat da jemand eine erklären für???
die delay.h Funktionen gehen nur, wenn der GCC das MIT Optimierung übersetzt, ansonsten brauchen die VIEL zu lang. Also mal checken, ob der GCC auch mit -Os o.ä. aufgerufen wird.
Habe eine Lösung gefunden mir der ich Leben kann habe im bei der erstellung gesagt das er kein 128 sonder der bau gleiche 103 er ist und siehe da die delay funktion funkt.
Ist bei deinem Atmega128 eventuell noch die fabrikmässig gesetzte M103C-Fuse (Atmega103 Compatibility Mode) aktiv? http://www.mikrocontroller.net/articles/AVR_Checkliste#Besonderheiten_bei_ATmega64_.2F_ATmega128
beim delay ist auch unbedingt das maximum zu beachten siehe: http://www.nongnu.org/avr-libc/user-manual/group__util__delay.html
Stefan B. wrote: > Ist bei deinem Atmega128 eventuell noch die fabrikmässig gesetzte > M103C-Fuse (Atmega103 Compatibility Mode) aktiv? Mit ziemlicher Sicherheit sogar...
Wenn das Teil nur funktioniert, wenn man es wie einen Mega103 behandelt, dann gibt es kaum Spielraum für andere Möglichkeiten. Und wenn die Fuse "nicht gesetzt" ist, dann heißt das, sie ist programmiert ("0")... Um den Mega128 als solchen zu benutzen, muss die Fuse "unprogrammed", also "1" sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.