Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
AT
关于AT字符接收的处理方式的疑问
发布于 2019-04-10 17:28:42 浏览:1134
订阅该版
* 本帖最后由 lissettecarlr 于 2019-4-10 17:31 编辑 * 目前我遇到这样一个问题,在STM32休眠然后唤醒后,AT串口不知道为啥将会接收到一个0X00字符,并被保存到了server->recv_buffer中,于是AT组件就没法运行了,原因是使用if(!strstr(server->recv_buffer, server->end_mark))进行判断时,是永远无法进入if的,strstr在判断第一个字符是0X00就退出了,然后接收到的消息就不断累加,而无法处理。 虽然正常通讯时不会发生0X00,但是万一通讯线路问题,也可能出现了一个0X00,那么AT组件就无法正常工作了额。如下是我测试用的打印: ```if(!strstr(server->recv_buffer, server->end_mark)) { at_server_printf("ch=%02X size: %d end=%02X,%02X
",ch,server->cur_recv_len,server->end_mark[0],server->end_mark[1]); for(int i=0;i
cur_recv_len;i++) { at_server_printf("%02X ",server->recv_buffer* ); } continue; } LOG_E("lalallala");```休眠唤醒后使用AT测试打印 [16:53:46.406]发→◇AT [16:53:46.413]收←◆ ch=41 size: 2 end=0D,0A 00 41 ch=54 size: 3 end=0D,0A 00 41 54 ch=0D size: 4 end=0D,0A 00 41 54 0D ch=0A size: 5 end=0D,0A 00 41 54 0D 0A [16:54:22.819]发→◇AT [16:54:22.823]收←◆ ch=41 size: 6 end=0D,0A 00 41 54 0D 0A 41 T ch=54 size: 7 end=0D,0A 00 41 54 0D 0A 41 54 ch=0D size: 8 end=0D,0A 00 41 54 0D 0A 41 54 0D ch=0A size: 9 end=0D,0A 00 41 54 0D 0A 41 54 0D 0A 我目前是在这前面加了一个判断,来筛除0X00,是能解决这个问题,但是没通观全局,不知道是否合适``` //测试添加 if(ch !=0X00) { server->recv_buffer[server->cur_recv_len++] = ch; last_ch = ch; } else { continue; } //end```
查看更多
4
个回答
默认排序
按发布时间排序
还没想好
2019-04-10
这家伙很懒,什么也没写!
休眠之前,外设缓冲区数据都已经完全发送完毕或接受完毕了吗?
aozima
2019-04-10
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
1方面,驱动上可以尝试一下消除这个数据错误。 但软件上还是要能容忍这种错误才可以,最多这一帧被丢弃,但后续能自动纠正。
lissettecarlr
2019-04-11
这家伙很懒,什么也没写!
>休眠之前,外设缓冲区数据都已经完全发送完毕或接受完毕了吗? --- 这个倒没有看过,使用的是STM32 bsp里面通用的驱动,我研究研究
lissettecarlr
2019-04-11
这家伙很懒,什么也没写!
>1方面,驱动上可以尝试一下消除这个数据错误。 >但软件上还是要能容忍这种错误才可以,最多这一帧被丢弃,但 ... --- 是的,驱动我也看看是不是有啥问题,AT的代码我就暂时按照上面这样改着
撰写答案
登录
注册新账号
关注者
0
被浏览
1.1k
关于作者
lissettecarlr
这家伙很懒,什么也没写!
提问
12
回答
14
被采纳
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
使用RC522软件包驱动FM1722
2
常量数据类型和表达式陷阱分享
3
进行i2c驱动移植的经验总结
4
在VSCode中使用clang-format
5
我该如何使用这个微雪的WIFI400 WIFI-LPB-100在rtt里或者我该怎样为它开发驱动
热门标签
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
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
xiaorui
1
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部