PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATmega8 sendet nix mehr (kapputt?!)



elips
25.09.2007, 10:26
Liebe Forumgemeinde,

seit kurzer Zeit ist mein ATmega8 stumm geworden. Anfangs hab ich dem nicht so viel Aufmerksamkeit beigemessen und wollte mich später darum kümmern. Ich dachte an einen simplen Programmfehler. Nach mehrmaligen Durchschauen, konnte ich aber keinen finden. Mein Code:

sbi UCSRB,3
sbi UCSRB,4
ldi r16,23 ;ATmega8 mit 3,6864MHz
out UBRRL,r16

mainloop: wdr
ldi r16,'X'
rcall send
rjmp mainloop

send: sbis UCSRA,5
rjmp send
out UDR,r16


hab schon mit retten veruscht, ging auch nicht. Nachdem ich ein wenig rummprobiert hab, ist mir aufgefallen, dass er wirres Zeug sendet, wenn man die Spannung vom ISP-Board weg nimmt und dann wieder drann legt. Ist dieser Fehler jemanden bekannt, oder weiß jemand, ob ich den Controller geschossen hab?

Vielen Dank

elips
25.09.2007, 11:04
Falls jemand fragen sollte:

(interrupts werden übersprungen)...

main: ldi r16,lo8(RAMEND)
out SPL,r16
ldi r16,hi8(RAMEND)
out SPL,r16
sbi UCR,4
sbi UCR,3
....

es funktioniert sonnst alles. Bis aufs senden. Empfangen läuft einwandfrei

elips
25.09.2007, 14:27
hab mir jetzt sogar einen neuen ATmega8 besorgt. Funktioniert immer noch nicht. Ich verwende einen MAX232N. Wie könnte ich den denn auf Funktion testen?

vielen Dank

recycle
25.09.2007, 14:52
Ist dieser Fehler jemanden bekannt, oder weiß jemand, ob ich den Controller geschossen hab?

Ich würde sagen es gibt 3 Möglichkeiten
1) irgendwas in deinem Proramm stimmt nicht
2) Irgendwas in deiner Schaltung stimmt nicht
3) Der Atmega ist defekt.

Falls es an 3 liegt, kannst du dich dumm und dusselig nach einem Fehler in Programm und Schaltung suchen.

Ich kann dir aus erfahrung sagen, dass man sich ziemlich ärgert, wenn man nen ganzen Tag für die Fehlersuche in Programm und Schaltung verschwendet und letztendlich feststellt, dass der Controller einen defekt hat.
Bei mir war damals tatsächlich ein PIN am Atmega8 defekt und hat nur noch Unsinn gemacht.

So ein Atmega8 kostet knapp 2 Euro und und brauchen kann man ihn immer mal.
Auch wenn die Wahrscheinlichkeit, dass es an einem kaputten ATmega liegt nicht besonders gross ist, würde ich ihn erst mal gegen einen anderen austauschen um das auszuschliessen.


----
zu langsam, jetzt hast du ihn ja schon ausgetauscht.



Ich verwende einen MAX232N. Wie könnte ich den denn auf Funktion testen?
Der hat doch zwei Pegelwandler drin. Da könnte man zum Test von dem einen auf den anderen umlöten. Den kompletten Chip zum Test mal gegen einen anderen zu ersetzen geht aber sicher schneller - falls du einen zweiten hast.

Beim MaX232N würde ich aber auch mal im Datenblatt nachsehen, ob du die richtigen Kondenstatoren verwendest.
Laut Datenblatt brauchen unterschiedliche Typen N, E und was es da sonst noch gibt unterschiedliche Kapazitäten.