Guten Abend. Ich habe folgendes Problem: Ich habe mir eine Platine gebastelt, auf der ein AT90USB1287 zum Einsatz kommt. Habe bis vor 2 Stunden noch fleissig porgrammiert und konnte meinen Code direkt auf der Platine testen. Mittleweile tut sich gar nix mehr. Ich kann die MCU noch flashen Fuse und Lockbits setzen, Signature auslesen. Das alles funktioniert ohne Probleme. Nur Portpins auf 1 oder 0 setzten klappt net mehr. Woran könnte das liegen? MCU defekt? Vielen Dank für Eure Hilfe im Vorraus
Mach doch mal ein Testprogramm rein, dass nur einen Portpin toggelt und miss nach.. Ich tipp auf Softwareproblem.. ;-)
ich hab mir n kleines Programm geschrieben, welches nur einen Portpin auf 1 setzt. An diesem Pin hängt auch ne Hupe dran, die gestern noch hupte. Wenn ich an diesem Pin messe, läuft die Spannung langsam von 100mV zu 1V und dann wieder von 100mV zu 1V...usw...
#include <io.h> int main() { DDRB = 0xFF; PORTB = 0x10; } sieht mal so aus :-)
Versorgung schonmal überprüft? (Oszi) Was macht der Pin ohne Last? Reagieren alle Pins so?
>ich hab mir n kleines Programm geschrieben, welches nur einen Portpin >auf 1 setzt. An diesem Pin hängt auch ne Hupe dran, die gestern noch >hupte. Wenn da mal nicht die Hupe schuld ist. Schaltplan? >Wenn ich an diesem Pin messe, läuft die Spannung langsam von 100mV zu 1V >und dann wieder von 100mV zu 1V...usw... Mit Multimeter gemessen? Nimm mal ein Osci. Da sieht die Welt gleich anders aus.
Versorgung schonmal überprüft? (Oszi) --> kein Oszi zur Hand Was macht der Pin ohne Last? Reagieren alle Pins so? --> alle Pins reagieren genauso. Egal welchen Pin ich auf 1 setzen reagiert genauso wie der wo die Hupe dranhängt. Wenn da mal nicht die Hupe schuld ist. Schaltplan? --> Hupe ist nicht schuld, wie gesagt, alle anderen Pins reagieren genauso
Wie flashst du den AVR? (USB? ISP?) Hast du evtl. am Bootloader rumgeschraubt? Mach mal eine NOP()-Schleife in dein mini-Programm und schau, ob sich die Frequenz des 0,1V/1V - gezappels entsprechend ändert.. Wenn nicht -> Reset-/Softwareproblem.. Schonmal probiert den AVR komplett rückzusetzen? Stromaufnahme ok?
MOMENT!! Fällt mir gerade erst auf: Wieso überhaupt Frequenz? :-o Der Pin sollte doch statisch gesetzt sein und garkein gezappel aufweisen.. Wie ist dein Reset-Pin verschaltet?? -> Schaltplan!
ich flashe über ISP, den Bootlader braucht man ja nur wenn man über USB flasht? also die Frequenz des gezappels hat sich nicht geändert, läuft genauso wie zuvor. Resetproblem glaube ich nicht, es ging ja bis heute Abend. Wie kann ich den AVR komplett zurücksetzen?? Stromausnahme weiss ich nicht, da meine Schaltung momentan über mein ISP Programmer versorgt wird. AVR wird aber nicht warm. Bleibt eiskalt :-) Eben, der Pin sollte entweder 5V oder 0V haben, nix dazwischen. Resetpin: Schalter an Resetpin. Resetpin mit Pullup 47k an 5V. ISP Reset hängt ebenfalls am Resetpin
Was macht deine Versorgung? Welche Fuses hast du gesetzt? Im AVR-Studio kannst du den Käfer komplett niederbügeln. Der USB-Bootloader ist dann aber (bin mir jetzt nicht zu 100% sicher) auch weg.. Ich glaub immer noch nicht so recht, dass der AVR defekt ist.. ;-)
Versorgung ist absolut stabil. Macht auch kein Unterschied, ob über ISP Programmer oder über Netzteil versorgt wird. Folgende Fuses hab ich gesetzt: HWBE, JTAGEN, SPIEN, CKDIV8 Wo genau im AVR-studio kann ich ihn komplett löschen? Erase Device? (das hab ich schon öfter probiert) Wenn der Bootloader wegwäre hätte das ja eingetlich keinen Einfluss auf die Funktion wenn ich eh über ISP flashe?? Ich wills auch net glauben dass er defekt ist :-)
hab jetzt mal alle möglichen Fuse Kombination durchprobiert. Hat aber alles keinen Einfluss. Was mich aber stutzig macht, die Pins vom JTAG Interface sind alle auf high Pegel, egal wie die JTAGEN fuse gesetzt ist...
Ich hatte genau das gleiche Problem, die MCU muss aber nicht defekt sein. Nachdem alle Versorgungspins Vcc, AGND, DGND, usw. angeschlossen waren, auch die der nicht genutzten USB ging alles wieder.
Burnout schrieb: > #include <io.h> > > int main() > { > > DDRB = 0xFF; > PORTB = 0x10; > > } > > sieht mal so aus :-) Da fehlt die Endlosschleife...
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.