hallo, ich möchte ein String über Hyperterminal empfangen, möchte auch einfach was ich empfange gleich in HypTerminal zeigen(UDR0=uart_getc();). das Problem ist, ich soll 2 Mal typen, dann werde den zweiten Zahl gezeigt, der erster sieht man gar nciht. hier ist der code: uint8_t uart_getc(void) { while (!(UCSR0A & (1<<RXC0))) ; return UDR0; } void uart_gets( char* Buffer, uint8_t MaxLen ) { uint8_t NextChar; uint8_t StringLen = 0; NextChar = uart_getc(); while( NextChar != '\n' && StringLen < MaxLen - 1 ) { *Buffer++ = NextChar; StringLen++; NextChar = uart_getc(); UDR0=uart_getc(); } *Buffer = '\0'; } int main(void) { line[40]; uint8_t c; uart_init(); uart_gets( Line, sizeof( Line ) ); while (1) { ; } return 0; } danke
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.