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