Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
AT
关于使用AT组件的一些疑问,望能解答!
发布于 2018-12-21 09:33:25 浏览:2591
订阅该版
最近想把公司之前的GSM部分代码改成AT组件的实现方式,但是在使用过程中有一些不太明白的问题,如果使用at_exec_cmd()函数发送指令的话,数据结尾都会带上
发送,但是在使用过程中我需要发送“+++”这个指令来退出透传模式,这个指令不能有“
”结尾,那这个时候我该怎么处理呢?还有就是在发送短信指令的时候,我在发送完短信内容后,需要发送ctrl+z来确定发送短信命令,这个时候又该怎么处理呢?如果是使用at_client_send()发送的话,就需要自己处理判断返回的数据了。我是不是可以使用at_set_end_sign()函数来动态的改变数据发送的结尾字符呢?
查看更多
9
个回答
默认排序
按发布时间排序
Cheney_Chen
2018-12-21
这家伙很懒,什么也没写!
1.at_set_end_sign() 函数目前只能设置一个字符结束符标识,像上面你说发送 ctrl+z 确定命令结束,可以使用 at_set_end_sign() 设置 ctrl+z 按键的键值作为命令的结束符,然后发送命令,发送完成之后需要设置 at_set_end_sign(0) 清空结束符标识。 2. 对于 +++ 这种特殊的指令,因为三个字符都是一样的,且最后没有特殊结束字节,所以不好用 at_set_end_sign() 函数处理,而你说的 at_client_send() 函数也不能字节使用,需要在URC 数据处理的时候使用,所以要确定一下你发送数据完成之后,是否有接收 URC 数据,可以在URC 数据的处理函数中使用 at_client_send() 完成 +++ 的发送。
天涯咫尺
2018-12-21
这家伙很懒,什么也没写!
>1.at_set_end_sign() 函数目前只能设置一个字符结束符标识,像上面你说发送 ctrl+z 确定命令结束,可以使用 ... --- 首先谢谢答复,我所提的两种情况在发送完数据都都需要判断返回数据,对于URC数据,我的理解是服务端主动发送的数据,那我发送AT指令后返回的数据算是URC数据吗?例如我使用at_client_send()发送完+++后,如果模块正确接收,会返回“OK”数据,这个返回的"OK"数据是URC数据吗?谢谢
Cheney_Chen
2018-12-21
这家伙很懒,什么也没写!
目前能确定的是 +++ 这种命令只能通过 at_client_send() 函数发送,至于返回值,如果是特殊数据可以使用 URC 处理,但是如果是 OK、ERROR 这种标准输出,是不能通过 URC 处理的,因为你 URC 列表中一旦加入这些标准输出的匹配处理,这会打断所有命令的正常响应,导致 at_exec_cmd 函数无法正常运行。 所以你要先确定一下 +++ 发出之后的响应数据,如果是 OK 目前看来也没什么好的解决方法,建议是否可以直接不处理响应的数据。
天涯咫尺
2018-12-21
这家伙很懒,什么也没写!
>目前能确定的是 +++ 这种命令只能通过 at_client_send() 函数发送,至于返回值,如果是特殊数据可以使用 UR ... --- 明白了,谢谢指导,十分感谢
独角戏
2019-02-22
这家伙很懒,什么也没写!
这么特殊的+++,是不是有人的模块?
独角戏
2019-02-22
这家伙很懒,什么也没写!
我的AT模块是这样的,收到网络数据,没有像esp8266那样的前缀,IPD之类的,就是原始数据 我用urc接收数据,只能这样写 static struct at_urc urc_table[] = { {"", "", urc_recv_func}, }; 但是少了第一字节数据,请问我怎么才能不丢第一字节数据呢
独角戏
2019-02-22
这家伙很懒,什么也没写!
>目前能确定的是 +++ 这种命令只能通过 at_client_send() 函数发送,至于返回值,如果是特殊数据可以使用 UR ... --- 您好 我的AT模块是这样的,收到网络数据,没有像esp8266那样的前缀,IPD之类的,就是原始数据 我用urc接收数据,只能这样写 static struct at_urc urc_table[] = { {"", "", urc_recv_func}, }; 但是少了第一字节数据,请问我怎么才能不丢第一字节数据呢
Cheney_Chen
2019-02-23
这家伙很懒,什么也没写!
[i=s] 本帖最后由 Cheney_Chen 于 2019-2-23 09:57 编辑 [/i] >您好 >我的AT模块是这样的,收到网络数据,没有像esp8266那样的前缀,IPD之类的,就是原始数据 >我用urc接 ... --- 你是什么模块,这种接收方式比较奇怪,先确定一下手册上有没有办法配置接收数据格式吧,从而方便处理接收数据吧
天涯咫尺
2019-02-23
这家伙很懒,什么也没写!
>这么特殊的+++,是不是有人的模块? --- 用的有人模块也是这样的,用的合方圆的模块也是这样的
撰写答案
登录
注册新账号
关注者
0
被浏览
2.6k
关于作者
天涯咫尺
这家伙很懒,什么也没写!
提问
11
回答
23
被采纳
0
关注TA
发私信
相关问题
1
rt-thread 2g/3g/4g通信模块的教程有吗?
2
基于AT指令,用esp8266如何连接mqtt?
3
AT组件使用问题
4
官方AT客户端应用笔记的几个小tip
5
RTT的SAL能够判断使用LWIP或者AT?
6
rt_therad AT组件移植不成功(结贴)
7
AT组件在哪个版本的?
8
AT组件 连接 Onenet 连接失败
9
esp8266 AT指令 MQTT连接问题
10
AT组件使用问题之模块主动上报【已解决】
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
GD32F450 片内 flash驱动适配
2
STM32H7R7运行CherryUSB
3
RT-Smart首次线下培训,锁定2024 RT-Thread开发者大会!
4
使用RC522软件包驱动FM1722
5
常量数据类型和表达式陷阱分享
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
a1012112796
10
个答案
1
次被采纳
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
YZRD
2
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部