UART neue Zeile mit "\r\n"

OP #3555205
Lesenswert?
• ▲
▼
Hallo,

nach durchstöbern ähnlicher Foreneinträge, komme ich immer noch nicht 
auf den Fehler, warum keine neue Zeile in HTerm erfolgt.

Folgender Programmcode:

standart code:
1
int uart_putc(unsigned char c)
2
{
3
  while (!(UCSR0A & (1<<UDRE0)))  /* warten bis Senden moeglich */
4
  {
5
  }
6
  
7
  UDR0 = c;                      /* sende Zeichen */
8
  return 0;
9
}
10

11

12
/* puts ist unabhaengig vom Controllertyp */
13
void uart_puts (char *s)
14
{
15
  while (*s)
16
  {   /* so lange *s != '\0' also ungleich dem "String-Endezeichen(Terminator)" */
17
    uart_putc(*s);
18
    s++;
19
  }
20
}
1
main:
2

3
int main (void) 
4
{
5
  
6
  Port_init();
7
  sei();   
8
  UART_init ();
9
  ADC_Init();
10
  initTimer0();
11
  initTimer1();
12
  
13
  uart_puts("Hallo");
14
  uart_puts("\r\n ");

anscheinend will mein terminal-programm \r\n nicht als funktion neue 
zeile definieren sonderen lieber als zeichen ausgeben. Ebenfalls ist 
gibt es das selbe ergebnis im eigen konstruierten sharpe terminal.

http://image-upload.de/image/tLjxOD/e60914a471.png

Vllt weiß jemand von euch abhilfe. Danke.
Persönliche Seite #3555286
Lesenswert?
• ▲
▼
Jackson Sowieso schrieb:
> ich dachte eben das der Befehl "\r\n" universell eine neue Zeile
> definiert. Anscheinend ignoriert Hterm den Befehl und gibt ihn als
> gewöhnliches zeichen aus.

Das ist auch kein Wunder, denn:

HTerm ist kein Terminalprogramm

auch wenn es hartnäckig als solches bezeichnet wird.

Ein Terminalprogramm emuliert ein Terminal, wie z.B. DEC VT-100. Mit 
dieser Emulation lässt sich der Cursor auf dem Bildschirm steuern, damit 
lassen sich Textattribute (Farben o.ä.) verändern, damit kann Text 
gelöscht oder eingefügt werden.

HTerm ist ein sehr praktisches Programm, wenn man den auf einer 
seriellen Schnittstelle empfangenen Bytes auf die Bits schauen möchte - 
aber von der Emulation eines Terminals versteht es exakt gar nichts.
Gast #3555752
Lesenswert?
• ▲
▼
Jackson Sowieso schrieb:
> Anscheinend ignoriert Hterm den Befehl und gibt ihn als
> gewöhnliches zeichen aus.

Für HTerm ist es eine Folge von zwei Zeichen. Es ignoriert die beiden 
überhaupt nicht, sondern es macht damit genau das, was du ihm sagst. Und 
wenn du ihm nicht sagst, dass es diese Zeichenfolge als einen speziellen 
Befehl interpretieren soll, tut es das auch nicht.

So ist das mit Computern.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.