Hallo AVR-User, ich nutze einen ATMega32 und schreibe die Software in C mit CodevisionAVR 1.23.6b. Ich habe mir mit dem CodeWizard ein Rumpfprogramm erzeugt. Dort wird nur die serielle Schnittstelle mit dem Txd-Interrupt ( 8 Byte Buffer )konfiguriert. Direkt vor der while in der main habe ich nur printf("Start"); eingefügt. In der Standard-Endlosschleife gebe ca. einmal pro Sekunde mit printf("Hallo"); einen Text aus. Dabei macht der Controller in unregelmäßigen Abstände einen Restart. Kennt jemand das Problem? Bernhard
Beim Tx-Interrupt gibt es eine kleine Falle: der reguläre Int-Vector ist UDRE_Int, der bei leerem Puffer angesprungen wird. Der TXC_Int wird angesprungen, wenn der Transmitter Leer ist. Wenn Du den falschen Vector nimmst und dort 0xffff steht, könnte u.U. ein Reset des Prozessors die Folge sein - abhängig von irgendwelchen Registerinhalten. Vielleicht ist es so etwas.
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.