www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik problem mit rs232


Autor: tobias hofer (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo

im moment versuche ich gerade die serielle schnittstelle zu
programiern.
folgendes problem mit anghängtem programm:

der empfang von 'b' und die bestätigung funktioniert. sobald ich
ein 'a' über die serielle schnittstelle sende wird das von meinem
programm auch empfangen.
d.h. das programm geht in die if schleife. wenn ich jetzt aber eine
andere taste drücke z.b. 'e' wir die schleife nicht mehr verlassen.

was habe ich vergessen zu programieren?

danke tobias

Autor: Malte Bayer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zwischen deinem do und while wird nirgendwo SBUF gesetzt, also kann die
schleife ja nicht beendet werden, da SBUF immer denselben wert hat.
nämlich "a"

Autor: tobias hofer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo

ich dachte SBUF sei der buffer für ein byte der seriellen
schnittstelle. und das SBUF nach jedem eintreffen von einem byte mit
diesem neuen überschrieben wird.
aber scheinbar irre ich mich da.
und wieso funktioniert es dann wenn ich ein 'b' sende? das wird
empfangen und wenn ich ein 'a' sende ebenfalls.

könntest du mir sagen wie ich das dann richtig programieren soll?

besten dank tobias

Autor: tobias hofer (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo

nun habe ich das ganze versucht mit einem interrupt der
seriellenschnittstelle zu lösen (neues programm im anhang).
das empfangen funktioniert.
wenn ich jetzt aber mit der printf() fkt. daten senden möchte geht
das nicht mehr.
ich glaube das problem könnte sein weil dann ebenfalls der interrupt
der seriellen schnittstelle ausgelöst wird. durch das TI flag.

ich mache das zum ersten mal und weiss nicht wie ich das umgehen kann
oder wie ich die daten korrekt senden kann. muss ja nicht sprintf()
sein.

tobias

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.