Gast
#574941
Hallo,
ich habe eine Frage. Wie ist das ofizielle Ende eines RS232 Strings.
Ich schicke von einem ATMEL meine strings immer so:
void uart0_putc(char c)
{
while(!(UCSRA & (1<<UDRE)));
UDR=c;
}
void uart0_puts(char *s)
{
while (*s)
{
uart0_putc(*s);
s++;
}
uart0_putc('\r');
uart0_putc('\n');
}
Nur wenn ich das so mache und ich ein Windows Programm schreibe
Erkennt Windows in meinem selbst geschriebenem Programm das Ende des
Strings nicht. Aber nur in dem selbst geschriebenen Programm.
Beim HyperTerminal funktioniert es einwandfrei.
Sollte man nach einer RS232 Übertragung noch das '\0' Zeichen senden?
Also folgendermaßen:
void uart0_puts(char *s)
{
while (*s)
{
uart0_putc(*s);
s++;
}
uart0_putc('\r');
uart0_putc('\n');
uart0_putc('\0');
}
Weiß jemand eine Antwort?