只开启了串口接收中断,为什么串口USART3_RX_BUF数组里面会有发送的数据

2019-07-20 06:24发布

我用的是原子的sim900a的串口程序,通过USART3发送AT指令给我的4G模块,然后4G模块返回响应数据,但是我把接收数组USART3_RX_BUF通过USART1打印到电脑上显示的却是发送和接收的数据都在USART3_RX_BUF这个数组里面。比如,我发送“AT”,4G模块正常返回的应该是“OK“,然后USART3_RX_BUF数组里面的数据应该只是是”OK“,但是我在串口调试助手看到的却是”AT OK“,这是怎么回事啊?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
HCHDaLeiGe
1楼-- · 2019-07-20 11:57
 精彩回答 2  元偷偷看……
1208
2楼-- · 2019-07-20 13:55
 精彩回答 2  元偷偷看……
JD123
3楼-- · 2019-07-20 17:13
1208 发表于 2018-8-28 15:27
串口中断程序有printf()发送命令,会出现在主函数中while(1)

版主你好,你是说第一张图的u3_printf会出现在第二张图的while程序中吗,这又什么关联吗?我的while中有这条程序printf("open11=%s ",USART3_RX_BUF);我只是让它显示4G模块的响应数据啊,printf出现在while程序中没什么影响啊,而且只开启了串口接收中断,没开启串口发送中断,发送的AT指令怎么会在存放接收数据的数组USART3_RX_BUF里面呢?
Psheng
4楼-- · 2019-07-20 21:30
大概这就是AT指令的回显吧,你关了就没有了
JD123
5楼-- · 2019-07-21 01:15
 精彩回答 2  元偷偷看……

一周热门 更多>