Arduino pure programming part-6 uart loopback test
Connect the TX and RX of the arduino using a wire #include <avr/io.h> #include <avr/interrupt.h> /* UDR-->UART Data Register UCSRA,B,C---> Uart control status register a,b,c UBRRnL,UBRRnH --> UART Baud Rate Register */ ISR(USART_RX_vect) { if(UDR0 == 'C'){ PORTB |=1<<5; } } void uart_init(unsigned int ubrr) { //ubrrn = fosc/16(Baud) -1.for 9600 = 104 //set baud rate UBRR0H = (unsigned char)ubrr>>8; UBRR0L = (unsigned char)ubrr; //enable the receiver and transmitter and receiver enable interrupt UCSR0B = (1<<RXEN0) |(1<<TXEN0) | (1<<RXCIE0); UCSR0C = (1<<UCSZ01) | (1<<UCSZ00); //8-bit //enable global interrupt sei(); //wait for udr to be empty while(!(UCSR0A&&1<<UDRE0)); UDR0 = 'C'; //wait for transmission to complete while(!(UCSR0A&&1<<TXC0)); while(1); } int main() { DDRB |= 1<<5; PORTB &am