UART neue Zeile mit "\r\n"

#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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren