mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART macht Probleme beim Empfang


Autor: Holger Fürstenberger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe folgendes Problem. Ich benutze einen 2313 und kann keine Daten
empfangen. Ich habe ein Testboard mit 8MHz laufen und da funzt es
einwandfrei, aber bei dem Board mit 9,216 MHZ bekomme ich es einfach
nicht zum Laufen. Normal sollte diese Frequenz ja noch besser bzgl. des
Timings sein. Die Pins zum MAX232 habe ich auch schon überprüft, sind
alle miteinander verbunden. Gibt es irgendwie eine Vorgehensweise mit
der ich den Fehler herausfinden kann? Angeschlosse LED lassen sich
schalten, so dass ich sicher bin, dass der µC funktioniert...

Gruß

Holger

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie hast de den UBRR eingestellt?

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der UBRR ist auf 14 @9,216 MHZ was ja 38400 Baud entspricht. Wenn ich
den Controller mit Strom versorge, dann schickt er einen einmaligen
Phantomwert.
Nun habe ich mal Testweise eine Entlosschleife programmiert, die immer
einen Konst. über den UART schickt. Es kommt zwar was an, aber sobald
ich dann was schicke, und der Interupt aufgerufen werden müsste, bleibt
das Programm stehen und es kommen keine Daten mehr an. In dem Fall
springt er aus dem Interrupt nicht mehr zurück, oder wie soll man sich
das vorstellen?

Gruß

Holger

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also hast du kein Problem mit der UART, sondern mit deinem Programm. Und
da es wiedermal fehlt, kann man dazu nichts sagen. Gibt viele
Fehlermöglichkeiten, Stack, falsche Interrupt-Vektoren, fehlerhafte ISR
etc.

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ah ok, bin jetzt nur gerade unterwegs und kann somit den code nicht
schicken... aber in interrupt mache ich nichts besonderes

receice:
    in temp1, PortB
    ror temp1
    out PortB,temp1
    ret

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nochmal der Hinweis:

ich finde es ja komisch, dass es auf einem anderen Board (8
MHz)funktioniert und auf diesem (9,216MHz) eben nicht. Auch wenn ich
die Einstellungen für das 9MHz board mache, dann funzt es auf dem 8MHz
Board, aber nicht auf dem anderen.

Den MAX232 habe ich bei beiden Board auch schon mal getauscht.

Autor: Hubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Holger,
müßte beim in-Kommando nicht PinB stehen und am Ende der Routine ein
reti?

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das mit dem reti stimmt schon, dass habe ich wohl auf die schnelle
verwechselt (Motorola). Bei dem PortB will ich ja das ganze Register
auslesen und dann einmal rotieren lassen und so dass ich sehen kann,
dass er überhaupt was empfängt.

Autor: Christian Schifferle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ja, aber das heisst dann trotzdem PIND.
Das hat nichts mit einzelnen Pins oder ganzen Register zu tun. Ich
nehme mal an PIN heisst hier in etwa Port INput-Register oder was in
der Art.

Gruss
Christian

Autor: Christian Schifferle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, heisst natürlich PINB.

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem PinB Register lese ich doch die Eingänge ein, aber ich möchte ja
die LEDs am dem PortB ansteuern, und die sollen eben um eins rotieren
wenn ich mit dem Uart ein BYTE empfange. Nur nun habe ich schon wieder
den Code vergessen und bin wieder nicht daheim.

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.