Forum: Compiler & IDEs UART


von Alexander Starke (Gast)


Lesenswert?

Hallo,

ich möchte die Werte, die mir ein Sensor an einem ADC-Port meines
Atmega8 liefert per UART an meinen PC senden. Das ist auch alles soweit
kein Problem. Nur wie kann ich in meinem Terminalprogramm einen
Zeilenumbruch erzeugen? Wenn ich die Messwerte nur hintereinander
heraus bekomme lassen sie sich ja schlecht auswerten.
2. Frage: Womit erzeugt ihr bestimmte Zeitintervalle: Größenordnung 1s,
5s usw.  --> es muss ja nicht auf die zehntel Sekunde genau sein ;-)

Alex

von Hans (Gast)


Lesenswert?

schick einfach am schluss vom string ein \n wenns nix hilft probier
\r\n

zu 2. 16bit timer G

73 de oe6jwf

von Alexander Starke (Gast)


Lesenswert?

Tja, so hatte ich das nicht gemeint. Meine Funktion für den UART:
void UART_transmit (unsigned char c) {
     outp (c, UDR);
}
Den Integerwert des AD-Wandler konvertiere ich mit itoa (...) in ein
char-Array.
Ist es mit obiger Funktion machbar, ein "\n" zu erzeugen?

Alex

von Hans (Gast)


Lesenswert?

hmm du hast doch sowas in die richtung da stehen...

char buffer[10];
itoa( x, buffer, 10);

da musst jetzt sowas in die richtung machen...

buffer[strlen(buffer)+1]=0;
buffer[strlen(buffer)]='\n';

oder wenns schneller gehn muss bastl dir eine eigene funktion die int
-> string convertierug kann... dann weist von forne herein wie lang der
string ist/wird und kannst das einfach reinschicken

so muss ichs machen weil ich das ganze mit interrupts übertrag...
wenn du jedes zeichen einzeln übertragen tust dann übertrag einfach
'\n' das ist ascii-zeichen 10 oder 13.. glaub aber 13... müsst ich
nachschaun...

auf jeden fall is das der line feed... und wenn das ned reicht machst
noch einen carrige return davor..also \r\n aber \n reicht normal

73 de oe6jwf

von Alexander Starke (Gast)


Lesenswert?

Besten Dank für die Hilfe. '\n' und '\r' hatte ich benötigt.
Sorry, falls ich mich unklar ausgedrückt hatte.

Alex

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.