USART PROGRAM.docx

(11 KB) Pobierz

//program napisany dla procesora atmega 128 prędkość przesyły 9600 zegar //procesora 16 mHz przy starcie program wysyła znak OK po czym oczekuje po //odebraniu jakiegoś znaku zwraca ten sam znak

 

#include <avr/io.h>

#include <util/delay.h>

#include <avr/interrupt.h>

 

int main(void)

{

              DDRC =0xff;

              PORTC =0xff;

              unsigned int i;

 

              cli();                                                                                                  //włącznei przerwania

              UBRR0L=103;

              UCSR0C |= (1<<UCSZ01) | (1<<UCSZ00);

              UCSR0B |= (1<<RXEN0) |(1<<TXEN0);                            //włącznie nadawania i //odbierania

              sei();

              UDR0 = 0x4F;

              UDR0 = 0x4B;

              asm("nop");

 

              while(1){

                            if(UCSR0A & (1<<RXC0)){

                                          if((UCSR0A & ((1<<FE0)|(1<<DOR0)|(1<<UPE0)))){

                                          }

                                          else

                                          {

                                          i=UDR0;

                                          UDR0=i;

                                          }

                            }

              }

}

 

Zgłoś jeśli naruszono regulamin