Hallo liebe µController Entwickler, ich arbeite zur Zeit an der UART des ATmega48. Um mir das Signal am PC anzeigen zu lassen habe ich in meiner Platine noch einen Pegelwandler (MAX232N) eingebaut. Als Software nutze ich die Bibliothek von Peter Fleury mit seinem Beispiel Programm, bei dem Eingaben wieder ausgegeben werden. Dies funktioniert auch sporadisch, heißt: teilweise werden mir die richtige Zeichen angezeigt und teilwese kryptische Zeichen. Ich vermute, dass das Problem irgendwas mit dem Takt zu tun haben muss. Nun habe ich auf die Platine eine LED eingebaut und lasse diese nach dem nachfolgenden Code blinken. (CODE aus dem AVR Tutorial)Ich erhoffe mir dadurch zu erkennen, ob der µC mit dem gewünschten Takt auch läuft. #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> #define LED_PORT PORTB #define LED_DDR DDRB #define LED_PIN PB0 int main() { LED_DDR |= 1 << LED_PIN; while (1) { LED_PORT ^= 1 << LED_PIN; _delay_ms(1000); } return 0; } Nach dem Tutorial müsste die LED 1s an und 1s aus sein. Was ich angezeigt bekomme ist, dass die LED 1s zwar an ist, dann sich aber abschaltet und sofort wieder einschaltet. Die LED ist also 1s eingeschaltet aber nicht 1s ausgeschaltet. Woran kann sowas liegen? Vielen lieben Dank im Voraus!
Vielen Dank für die Antwort. Wenn ich den Watchdog unter Fuses aktiviere, dann blinkt die LED sehr schnell. Unabhängig davon, welche Taktfrequenz ich für den µC einstelle.
Hallo, leider kam ich bei dem Problem immer noch nicht voran. Habe es auch mit Timer/Interrupts versucht, doch das Ergebnis bleibt das gleiche. Die LED will einfach nicht für 1s aus bleiben. :/ Würde mich über weitere Tipps sehr freuen.
habs gepackt! lag an einem Kurzschluss und ich war mir sicher, dass es am Code liegen müsste...
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.