ayb_ice 发表于 2013-10-9 08:21 
明显软件模拟出错了
应该是开始,停止信号那里有点问题
有点不明白的是:接收的第一个字节是正确的,说明8位数据读取的时序是正确的,但是后边跟着一个0xff,说明在接收程序的结尾收到一个低电平,然后一直都是高电平,导致软件以为接收到0xff。会不会是我在接收最后一位后时间太短,导致低电平没结束,中断子程序就结束了,然后程序又再一次进入一次中断??
可是我在每次进入接收程序都会清除中断标志,关闭中断。
还有,我的接收中断子程序是接收数据后直接调用发送子程序:
g_rev_chr = TX8_RecByte(); //模拟uart接收一个字节
TX8_SendByte(g_rev_chr); //模拟uart发送一个字节
请问这样是否妥当??
|