mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega16 - USART empfängt obwohl nichts verschickt?!


Autor: ratatatata (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hermann Günther (hahgeh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht ist nur der eingangspin nicht auf einem definierten pegel
sondern floated

Autor: ratatatata (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Hermann Günther (hahgeh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie jetzt du möchtest was "dagegen machen dass du mit angeschlossenem
geräte daten empfangen kannst". :)

was hängt denn für ein gerät dran, hast du noch einen max232 oder
ähnliches dazwischen, der müsste eignetlich immer einen definierten
pegel erzeugen

Autor: ratatatata (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ne kein max232, sondern nen taschenrechner :)

aber ich mach jetzt einfach einen pullup-widerstand dran!

aber schon lustig dass mein zimmer so verstrahlt ist dass der immer was
empfängt ^^

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: hans dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich glaube die internen pull-ups werden da nicht reichen die 30k und
mehr sind zu schwach. (sollten so 10k sein)

Was für ein taschenrechner ist es denn?

Autor: ratatatata (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.