Atmega16 - USART empfängt obwohl nichts verschickt?!

Gast #256680
Lesenswert?

Hi,
ich hab ein kleines Problem mit USART auf meinem Atmega16, und zwar ist
das RXC-Bit im UCSRA Register ständig gesetzt bzw der Receive-Complete
Interrupt wird ständig aktiviert, auch wenn gar keine Daten an den µC
geschickt werden!
Hat einer von euch ne Ahnung was das sein könnte? Im AVR-Studio
Emulator läuft alles Prima!
Hier mal meine Situation:

-Atmega16
-UBRRL(L/H) auf 1000000/(9600*16)-1 gesetzt
-UCSRC auf (1<<URSEL)|(1<<USBS)|(3<<UCSZ0) gesetzt
-UCSRB auf (1<<RXEN)|(1<<TXEN) gesetzt

Meine Empfangsschleife:

loop:
    sbis UCSRA, RXC
    rjmp loop
            in r16, UDR
            ldi r17, 0x30
            add r16, r17
            rcall lcd_sendData
            rjmp loop

Ach das FE-Bit ist im UCSRA gesetzt, das zeigt doch aber nur an dass
etwas mit den empfangenen Daten nicht stimmt, nicht dass ich den Frame
falsch gesetzt habe?
Hoffe ihr könnt mir helfen!
Mit freundlichen Grüßen,
Karle
Gast #256682
Lesenswert?

hmm, ich hab grad beide pins gegroundet und siehe da ich empfange keine
pseudo daten mehr! (habe ja sogar etwas empfangen ohne dass irgendein
gerät angeschlossen war)

aber was kann ich jetzt dagegen machen dass ich mit angeschlossenem
geräte daten empfangen kann?
Gast #256685
Lesenswert?

Nicht Dein Zimmer ist verstrahlt, die AVR-Pins sind verdammt hochohmig.
Mit ´nem Stück Draht am RXD kannst Du Radio Moskau digitalisieren ;-).
Aktivier doch den internen PullUp, indem Du
nach der UART-Initialisierung

sbi PortD, 0

programmierst.
Gast #256687
Lesenswert?

hm.. also mit internem pullup hab ich zwar keine geister daten mehr
empfangen, aber leider auch keine vom taschenrechner mehr ^^
leider hatte ich mit nem 10k externen auch kein glück :/ naja ich hoff
ich habe unsauber gelötet oder so muss nochmal nachschauen...

ist ein Casio fx-9750g, will ne MMC Speichererweiterung mit nem attiny
machen, dann krieg ichs im gehäuse unter :)
Gast #256688
Lesenswert?

Wer sagt denn, daß ein PullUp immer 10k sein muß? Er muß so bemessen
sein, daß die angeschlossene Stromsenke den Pin noch sicher auf 0-Pegel
ziehen kann und außerdem keine Störungen auftreten. Wenn der interne
nicht geht, dann einen externen von vielleicht 100k versuchen -
vielleicht ist der Taschenrechner ja etwas schwach auf der Brust.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren