OpenEdv-开源电子网

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

请问用单片机的串口给外部设备发at指令是将at当做字符串还是数据

[复制链接]

7

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-9-7
在线时间
17 小时
发表于 2018-10-29 11:21:24 | 显示全部楼层 |阅读模式
2金钱
请问用单片机的串口给外部设备发at指令是将at当做字符串还是数据,当做数据的话是不是发送其相对应的ascII码

最佳答案

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

u8 cmd[] = "AT+RST\r\n"; for(u8 i=0;i
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2018-10-29 11:21:25 | 显示全部楼层
u8 cmd[] = "AT+RST\r\n";
for(u8 i=0;i<8;i++)USART_SendData(USART1,  cmd[i]);
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2018-10-29 11:26:26 | 显示全部楼层
at当做字符串,发送对应的ASCII码
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

7

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-9-7
在线时间
17 小时
 楼主| 发表于 2018-10-29 11:30:46 | 显示全部楼层
谢谢,我没太懂您的意思,就是我在USART_SendData(USART1,   );这个函数里应该是直接写“at+...”还是写每个字母的ASCII码
回复

使用道具 举报

7

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-9-7
在线时间
17 小时
 楼主| 发表于 2018-10-29 13:27:21 | 显示全部楼层
szczyb1314 发表于 2018-10-29 13:08
u8 cmd[] = "AT+RST\r\n";
for(u8 i=0;i

好的,我知道了。但是您这条指令输入运行后会乱码,是不是要加while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);这条指令
回复

使用道具 举报

7

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-9-7
在线时间
17 小时
 楼主| 发表于 2018-10-29 13:38:12 | 显示全部楼层
oagnewux 发表于 2018-10-29 13:27
好的,我知道了。但是您这条指令输入运行后会乱码,是不是要加while(USART_GetFlagStatus(USART1,USART_F ...

加了那条判断指令while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);数据就会重复发送,而且每次发送的重复次数还不相同,要是不加呢收到的就是乱码,请问这是怎么回事啊
回复

使用道具 举报

7

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-9-7
在线时间
17 小时
 楼主| 发表于 2018-10-29 13:39:18 | 显示全部楼层
szczyb1314 发表于 2018-10-29 11:21
u8 cmd[] = "AT+RST\r\n";
for(u8 i=0;i

加了那条判断指令while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);数据就会重复发送,而且每次发送的重复次数还不相同,要是不加呢收到的就是乱码,请问这是怎么回事啊
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 05:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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