So müsste der Code aussehen oder?:
Code:
int main(void)
{
/* UART einstellungen */
UBRRH = UBRR_VAL >> 8;
UBRRL = UBRR_VAL & 0xFF;
UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE); // UART TX,RX einschalten
UCSRC |= (1<<URSEL)|(3<<UCSZ0); // Asynchron 8N1
/* Output einstellen */
DDRB = (1<<PB1); /* Pin PB1 als Ausgang für Led */
/* Zeichen empfangen */
uint8_t Usart_Rx(void)
{
while (!(UCSRA & (1<<RXC))) // warten bis Zeichen verfuegbar
; /* Hier muss jetzt der Befehl rein wenn ich z.b. W drücke PB1 auf high */
return UDR; // Zeichen aus UDR an Aufrufer zurueckgeben
}
}
Wie programmiere ich, dass z.B. "W" in ASCII ungewandelt wird und mir PB1 auf high stellt?
Lesezeichen