Hallo, ich hab da mal ne kurze Frage. Folgender Code funktioniert nicht, aber warum?
1 | void uinit (void){ //init usart Tx, 8n1 ,parity even |
2 | |
3 | UCSRC = (1<<UCSZ1)|(1<<UCSZ0)|(1<<UPM1); |
4 | |
5 | //Baudrate (high und low byte)
|
6 | UBRRH = (unsigned char)(UBRR_VAL>>8); |
7 | UBRRL = (unsigned char)UBRR_VAL; |
8 | UCSRB |= (1<<TXEN); // UART TX einschalten |
9 | }
|
Besser gesagt, das even Parity bit wird ignoriert. Auf Pc Seite kommt nur Müll an, wenn ich Parity auf even stelle. UPM1=1 und UPM0=0 sollte doch laut Datenblatt Parity auf even stellen ?!? Weiß nicht mehr weiter...