本帖最后由 dirtwillfly 于 2015-2-2 22:59 编辑
经常看到有网友使用msp430时,单独使用spi或者uart时,通讯都正常。但如果用两个spi或者uart,或者同时使用一个spi和一个uart,常常通讯失败。
大家说说,这种通讯失败一般都是什么原因?
总结:
通过本话题的讨论,有网友反映在硬件连接和代码都不错的情况下, 不会有什么异常问题,但如果不小心就会在通信上犯错,而且通讯失败很难查原因。下面是几种网友在spi或者uart通讯调试中发现的问题:
1、在一个通讯的中断服务程序里,打开了中断使能,这样就可以使中断进行嵌套了。但中断嵌套会打断外面通讯的时序,造成了通讯失败。 2、两个通讯的中断服务程序运行时间太长,造成了通讯中断的丢失,从而影响了通讯的正常进行 3、波特率、电平兼容、接地 4、中断函数是新手最容易犯的错误 5、调试蓝牙的时候,虽然比特率设置的对,通信一直出错,后来发现,必须得用11.0592MHz的晶振,用其它的,动不动就出错 6、在单独调试mcu的串口通讯无问题,但连接外围模块后通讯失败。原因是因为外围模块的电路引起了串口通讯时序的改变,从而影响了串口的正常通讯。 遇到这种通讯问题,一般方法:可以先分模块进行调试,确保每个模块的通讯是正常的。然后在联合调试。要多利用示波器或者逻辑分析仪来观察通讯波形,并与数据手册中的时序要求进行对比。 |