关于串口1和串口2的问题希望有大哥哥帮忙指点

2019-08-12 17:20发布

手里是一块使他们stm32与一个sim卡模块相连(USART2),我需要在电脑上连接32的USART1发送AT指令然后32通过串口2转给SIM卡模块,
SIM卡模块接收到AT指令会有一个返回,然后32 接收串口2 发回的数据在从串口1 发送给电脑,但是现在试了很多方法都不行;
现象:串口2接收的时候只街道第一条数据,往后的每次循环中都不能收到数据
主要代码和现象截图:操作的时候没有接任何的模块,我怕出问题,所以就手动用串口调试相互对发的数据;l
1.png 执行的现象 执行的现象

NEW.zip (339.53 KB, 下载次数: 279) 2017-10-19 15:13 上传 点击文件名下载附件


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
哆啦A萌
2019-08-13 13:00
本帖最后由 哆啦A萌 于 2017-10-19 17:00 编辑

我看了一下你的代码发现了你代码中就有几个很明显的问题,清除USART2的地方应该是每次读取了数据以后,而不是每一次循环都清除;清除标志位你判断的是&0x8000,清除该标志位却是直接令其等于0也是很大的问题,再者你确定哪个模块通过串口发送的结束符是‘r'' '?,整体上我感觉你这个代码逻辑比较混乱,出问题也是很正常

一周热门 更多>