真是服了,一个串口通信花了5天的时间。
STM32与wh-nb73是通过串口连接的,然后我用的是透传coap模式,在初始化的时候,需要通过at指令设置端口号和ip,以及模式,再保存,结果发了三条指令过去一直通信不了,然后我就把返回值的写法改了,执法at指令,并没有要它返回ok,直接发命令,然后延时,还是通不了,最后又去加了很多at指令,最后,可以通了,但是只是单片机可以发给nb,然后nb发给云端,在云端发的数据下面单片机一直接收不到,所以,开始一步步排除问题。
1以为是数据发送的格式有问题,用测试板试,发现用串口助手和它可以互发数据,
2、检查电路上端口连接,看串口的rx、tx和单片机的对应端口连接是否正确
2、(也是最有可能的),看串口配置代码,这里的接收端口分配是否正确,比如上拉、下拉之类的设置,又把程序下载到stm32 的开发板上,发现接收中断进去了,在我们的电路板上中断根本进不去。烦透了。
3、检查串口中断函数有没有问题,就开始检查电路了。在电路上打电压,发现没有什么问题,之前还以为是供电不足的问题,后又用示波器打信号,发现发送(单片机)没有问题,由于资料显示要电平匹配,在串口之间的线路上加了10k电阻,在发送电阻两边正常,发送的数据是正确的。
4但是在接收(单片机)电阻两边数据也是正常的,但是在进去的那一端,电平没有拉低,大概只有一半,应该是单片机识别不到它的低电平。导致进不了中断,后面把电阻取了,就可以通信了。
STM32与WH-NB73模块的串口通信
最新推荐文章于 2023-10-16 09:11:00 发布