AVR技术william hill官网
直播中

吴铭

12年用户 193经验值
私信 关注
[AVR问答]

ATmega128A 串口问题

ATmega128a 串口0接收中断为什么进不去! 高手帮忙看一下用的是Atmel studio6.0 中断可以直接那么写,把下面的都改成串口1的话是可以的?
#include
#include
#include til/delay.h>

void Init_IO(void)
{
        DDRA = 0xFF;
        PORTA = 0xaa;
       
        DDRF = 0xFF;
        DDRC = 0xFF;
       
}
void UART0_Init(void)
{
       
        UCSR0A = 0x00;
       
        UCSR0B =0x98;//(1<         //UCSR0B = ( 1 << RXEN0) | ( 1 << TXEN0 );
        UCSR0C = 0x06;//(1<         UBRR0H = 0x00;//(unsigned char)(MYUBRR>>8);
        UBRR0L = 51;//(unsigned char)MYUBRR; //Set Baudrate, UBRR0L = 51, 9600bps
        // UBRR0L = (SYSCLK/((uint32_t)BAUD_RATE * 8) - 1);        //波特率设置
}
ISR(SIG_USART0_RECV)
{
        PORTF = UDR0;
        PORTC = ~PORTC;
}
int main(void)
{
        Init_IO();
        UART0_Init();
        sei();
    while(1)
    {
       ; //TODO:: Please write your application code
        }   
}




回帖(3)

吴铭

2014-6-3 22:56:30
我用的是protues 仿真  
举报

z00

2014-6-7 19:42:10

  1. void UART0_Iint(void)
  2. {
  3.   UCSR0B = 0x00;
  4.   UCSR0A = 0x82;                  
  5.   UCSR0C = 0x06;
  6.   UBRR0H = 0x00;
  7.   UBRR0L = 0x67;
  8.   UCSR0B = 0x98;
  9. }
举报

吴铭

2014-6-18 04:20:11

谢谢你的回答,已经可以了,至于为什么,还不是那很清楚
举报

更多回帖

发帖
×
20
完善资料,
赚取积分