(RXCIE0<<1);
scheint mir verdreht.
sizeof( Line )
wird nicht klappen. verwende einfach die Zahl 40 .
oder besser:
Code:#define MAXLEN 40 char line [MAXLEN] uart_gets(Line, MAXLEN) ;
(RXCIE0<<1);
scheint mir verdreht.
sizeof( Line )
wird nicht klappen. verwende einfach die Zahl 40 .
oder besser:
Code:#define MAXLEN 40 char line [MAXLEN] uart_gets(Line, MAXLEN) ;
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
und hier:
void uart_gets( char* Buffer, uint8_t MaxLen )
soll es so bleiben oder auch ändern
nein, das kannst du lassen, wie's is
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
da zeigt er einen Fehler:
../TST_22.c:64: error: expected ';', ',' or ')' before numeric constant
Ahja, das ist, weil die definierte konstante auch "maxlen" heisst (mein fehler).
ändere einfach die konstante
#define MAX_LEN 40
char line [MAX_LEN]
uart_gets(Line, MAX_LEN) ;
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
das hat auch nicht funktiniert, wenn ich zum Beispiel 123456789 sende, der empfängt nur die 2 erste Zahlen 1 und 2 und der letzte 9, aber dazwischen zeigt er nicht
Doch, würde es. sizeof(Line) ist 40.
Vermutlich hast du laufend Soft-Resets. Lass das mit dem RXCIE0 weg (egal ob inzwischen korrigiert, oder nicht). Du arbeitest hier doch gar nicht mit Interrupts.Zitat von amal
Übrigens: was hat denn die Endlosschleife in uart_gets da zu suchen?
MfG
Stefan
Lesezeichen