Frohen Tag Community, ich bin wieder auf einen Sachverhalt gestoßen, der mir nicht ganz klar ist. Deshalb wollte ich hier mal nachfragen. Reicht dieser C-Code aus, wenn man 9.Bit mit USART eines ATmega senden möchte? void USART_Config(void) { UCSR1B = (1<< UCSZ12); UCSR1C = (1<< UCSZ11) | (1<< UCSZ10); } void USART_Transmit( unsigned int data ) { /* Wait for empty transmit buffer */ while ( !( UCSRnA & (1<<UDREn))) ) ; /* Copy 9th bit to TXB8 */ UCSRnB &= ~(1<<TXB8); if ( data & 0x0100 ) UCSRnB |= (1<<TXB8); /* Put data into buffer, sends the data */ UDRn = data; } void USART_puts (char *s); Den vorletzten Teil, dass wird vielen von euch sicherlich bekannt sein, habe ich aus dem Datenblatt entnommen. Die USART_puts(char *s) ist aus den premium Tutorials dieses geilen Forums übernommen. Kommt das hin, wenn man mal von der Einstellung der Baudrate absieht? kind greetz fragenkinsey
Julian Kinsey schrieb: > Kommt das hin, wenn man mal von der Einstellung der Baudrate absieht? Ja, sollte passen wenn die Register dann im Code die richtigen Namen haben. Sascha
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.