void uart0_init(void)
{
UCSRB = 0x00; //disable while setting baud rate
UCSRA = 0x00;
UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
UBRRL = 0x33; //set baud rate lo
UBRRH = 0x00; //set baud rate hi
UCSRB = 0x98;
}
仿真时 执行UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); 后 查看UCSRC没数值变化 。。。。
程序烧进MCU中去 以致PC向MCU发送读取数据命令后。。。。PC收不到从串口返回的数据。。。
仿真时 人为 将UCSRC中 URSEL UCSZ1 UCSZ0位置1后 仿真运行后 PC向MCU发送读取数据命令后,,,,PC能收到从串口返回的数据。。
。。。。。串口通信用中断方式。。
这是什么原因哦!!!!!! 请教解决方法!
下面同样问题出处。。
虚拟总论坛 -> 搜索作者回复:xfeng_pan -> 求助!! 关于ATmega16 UART的初始化程序 问题依然还在!高手进!
http://www.**.cn/bbs/bbs_content.jsp?bbs_sn=410632&bbs_page_no=1&search_mode=4&search_text=xfeng_pan&bbs_id=9999 |