中易网

AVR串口通信问题,使用的芯片是mega88pa,求大神指点,为何我收不到数据?程序很常见如下:

答案:1  悬赏:40  
解决时间 2021-01-13 01:10
  • 提问者网友:書生途
  • 2021-01-12 02:02
AVR串口通信问题,使用的芯片是mega88pa,求大神指点,为何我收不到数据?程序很常见如下:
最佳答案
  • 二级知识专家网友:傲气稳了全场
  • 2021-01-12 03:28
所有分析都是建立在你的硬件电路没设计错误,没焊接错误的情况下。
万用表先测量CPU电源电压是否正确。5V?
看你说的路子,你好像是要同一个CPU,发出去数据,然后再自己接收回来。若是这样,请保证CPU的RXD和TXD脚已经短路了。
你没说你烧写的程序,是否开启了看门狗。若开启了看门狗,你在程序中没有复位看门狗的语句,那你的程序其实就是在不停地复位,根本无法工作起来。
UBRR0L = 0x51;  
UBRR0H = 0x00; 
这两句请把顺序颠倒过来,先给UBRR0H赋值,再给UBRR0L赋值。具体请查阅PDF文档,大部分AVR中,需要这么特殊处理。
你的程序没给完整,无法判断你的接收程序正确与否。你是用中断接收还是查询接收?若是中断接收,全局中断开放否?接收程序是否将相关标志位复位以便下次再次接收数据了?会否已经正确接收到数据了,但你的判断方法有问题?
只能参考到此了,祝顺利!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息