Gast
#231833
Mit den Atmega8535 möchte ich Daten via RS232 empfangen und senden. In meiner Applikation verwende ich als Takt einen ext. 8 Mhz Quarz. Mein uC kann von der RS232 kein Zeichen empfangen. Ich habe mir das Datenblatt angeschaut. Da komme ich nicht klar mit. Wie kommt man darauf, das diese beiden Register: UCSRB=0xD8; //Baudrate 9600 UBRRL=0x33; so eingestellt werden müssen? Sind die beiden Register so richtig ingestellt? ATMEGA8535 C-Codeausschnitt: //***************************************************** interrupt [USART_RXC] void uart_rx_isr(void) { Zeichen = UDR; } interrupt [USART_TXC] void uart_tx_isr(void) { } //Hauptprogramm void main(void) { DDRB = 0xFF; PORTB = 0; DDRD = 0x00; PORTD = 0; PORTC_output(); t6963cinit(); LCD_Clear_Graphics(); LCD_Clear_Text(); UCSRB=0xD8; UBRRL=0x33; ACSR=0x80; #asm("sei") while (1) { delay_ms(100); lcd_printfz(0, 3,"Zeichen:%2x",Zeichen); if (PIND.1 == 1) { putchar('X'); } }; }