OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5397|回复: 5

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

[复制链接]

5

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2015-8-10
在线时间
49 小时
发表于 2018-8-28 15:08:14 | 显示全部楼层 |阅读模式
20金钱
我用的是原子的sim900a的串口程序,通过USART3发送AT指令给我的4G模块,然后4G模块返回响应数据,但是我把接收数组USART3_RX_BUF通过USART1打印到电脑上显示的却是发送和接收的数据都在USART3_RX_BUF这个数组里面。比如,我发送“AT”,4G模块正常返回的应该是“OK“,然后USART3_RX_BUF数组里面的数据应该只是是”OK“,但是我在串口调试助手看到的却是”AT\r\nOK“,这是怎么回事啊?

串口中断程序

串口中断程序

主程序

主程序

发送AT指令

发送AT指令

最佳答案

查看完整内容[请看2#楼]

ATE0 只打印result ATE1 恢复回显 这是4G模块的回显,跟串口无关,可以通过上面的命令打开或者关闭回显
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

204

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2443
金钱
2443
注册时间
2017-9-13
在线时间
559 小时
发表于 2018-8-28 15:08:15 | 显示全部楼层
ATE0 只打印result
ATE1 恢复回显

这是4G模块的回显,跟串口无关,可以通过上面的命令打开或者关闭回显
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2018-8-28 15:27:31 | 显示全部楼层
串口中断程序有printf()发送命令,会出现在主函数中while(1)
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

5

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2015-8-10
在线时间
49 小时
 楼主| 发表于 2018-8-28 15:41:11 | 显示全部楼层
1208 发表于 2018-8-28 15:27
串口中断程序有printf()发送命令,会出现在主函数中while(1)

版主你好,你是说第一张图的u3_printf会出现在第二张图的while程序中吗,这又什么关联吗?我的while中有这条程序printf("open11=%s\r\n",USART3_RX_BUF);我只是让它显示4G模块的响应数据啊,printf出现在while程序中没什么影响啊,而且只开启了串口接收中断,没开启串口发送中断,发送的AT指令怎么会在存放接收数据的数组USART3_RX_BUF里面呢?
回复

使用道具 举报

35

主题

560

帖子

2

精华

资深版主

Rank: 8Rank: 8

积分
17769
金钱
17769
注册时间
2018-3-3
在线时间
523 小时
发表于 2018-8-28 16:52:23 | 显示全部楼层
大概这就是AT指令的回显吧,你关了就没有了
/*
*
*
*
*
*
*/
回复

使用道具 举报

5

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2015-8-10
在线时间
49 小时
 楼主| 发表于 2018-8-28 17:24:03 | 显示全部楼层
不是,回显只有OK,AT是我发送给它的指令
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-7 20:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表