引用: 原帖由 chunyang 于 2013-9-11 17:04 发表
程序的问题,注意要将待发数据正确的写入串口0和串口1相应的寄存器,同时使能串口并正确的配置波特率发生器,做到这些就不会有问题。如果采用中断模式,还要注意中断使能和服务程序的编制。
中断我测试过了,没有问题。我在串口0中断里 写上:
usart1_rdata=UDR1; //将接收到的数据取出
UDR1=usart1_rdata; //输出接收到的数据
我输入‘a'是可以输出’a'的。
就是后来加上了主函数里的判断语句后,就是不执行判断为‘a'后的语句。
switch(usart1_rdata)
{
case 'a': UDR1=fbdata[0];break;
default: UDR1='y';break;
}
后来我把这些判断语句放到中断函数里边就可以执行了。
我就是很奇怪。