Gast
#268537
Hallo Ich versuche gerade den folgenden Quellcode zu verstehen (bin Anfänger): /* USART-Init 19200 Baud bei 16MHz für Mega32 */ UCSRB |= ( 1 << TXEN ); // UART TX einschalten UCSRC |= ( 1 << URSEL )|( 3<<UCSZ0 ); // Asynchron 8N1 UBRRH = 0; // Highbyte ist 0 UBRRL = 51; // Lowbyte ist 51 ( dezimal ) Im Dateblatt steht ja wenn während eines Schreibvorganges das höchste bit 1 ist wird in register UCSRC geschrieben wenn 0 dann wird gegister UBRRH beschrieben. ein beispiel: UCSRC = 0b10000000 // wird in UCSRC gescrieben da das höchste bit der binären zahl eine 1 ist UBRRH = 0b00001111 wird in UBRRH geschrieben da das höchste bit eine 0 ist UBRRH = 0b11110000 wird in UCSRC geschrieben da das höchste bit eine 1 ist. (mal abgesehen von der lesbarkeit und gutem progstiel) Ist das so richtig oder verstehe ich da was falsch? mfg Fritz