[STM8] 应该怎么把它提取出来

[复制链接]
1177|17
 楼主| shimx 发表于 2021-4-12 22:36 | 显示全部楼层 |阅读模式
使用STM8S105K4的UART2串口跟蓝牙模块通信的,我发送字符串指令给蓝牙后,蓝牙返回来了十几条(有时候二十多条不定)响应字符串指令,我是用一个字符串数组来接收这些返回来的指令的。我现在只需要读取数组里的某一条指令,应该怎么把它提取出来啊
llljh 发表于 2021-4-12 22:39 | 显示全部楼层

然后呢?你是怎么应对这个的呢        
 楼主| shimx 发表于 2021-4-12 22:41 | 显示全部楼层
找了好久找到一个函数strstr(str1, str2);,不知道只用这个函数来读取我数组里的某个字符串行不行。
supernan 发表于 2021-4-12 22:43 | 显示全部楼层

什么意思?不是很明白你说的什么,能再解释一下这个现象吗
 楼主| shimx 发表于 2021-4-12 22:45 | 显示全部楼层
比如,我数组接收到的指令是这些:
Rx_Buffer[] ={
AT-B PBCSTAT 1
AT-B A2DPSTAT 1
AT-B SPPSTAT 1
AT-B AVRCPSTAT 1
AT-B HFSTAT 1
AT-B SNKINIT 0
AT-B SLDN 0
AT-B HFSTAT 2
AT-B SCAN 0
AT-B SSPPIN 772052,0,44C346698642
AT-B PAIR 2,44C346698642
AT-B HFSTAT 2
AT-B SSPPIN 425883,0,44C346698642
AT-B PAIR 2,44C346698642
AT-B HFCONN 8,44C346698642,0
AT-B HFSTAT 1
AT-B SCAN 0
AT-B SSPPIN 754058,0,44C346698642
AT-B PAIR 0,44C346698642
}
然后我只需要读取其中的某一条指令来进行判断,这样我就可以进行下一步操作。
wuhany 发表于 2021-4-12 22:47 | 显示全部楼层
strstr当然没问题。
 楼主| shimx 发表于 2021-4-12 22:50 | 显示全部楼层
但最好还是用状态机解析:收到字符都传递给状态机,状态机里根据帧头、位段解析得到你所需的数据。
zhaoxqi 发表于 2021-4-12 22:52 | 显示全部楼层
这个标准库的内容肯定可以
yszong 发表于 2021-4-12 22:55 | 显示全部楼层
用状态机+中断解析即可
chuxh 发表于 2021-4-12 22:57 | 显示全部楼层
我不习惯用标准c库的函数,还是自己写方便。
xxrs 发表于 2021-4-12 23:04 | 显示全部楼层
这是at指令代码啊
 楼主| shimx 发表于 2021-4-12 23:05 | 显示全部楼层
这是发送的什么呀
 楼主| shimx 发表于 2021-4-12 23:08 | 显示全部楼层

嗯,预料中的结果,多谢大家啦
观海 发表于 2021-5-7 14:25 | 显示全部楼层
自己定制通讯协议啊
guanjiaer 发表于 2021-5-7 14:27 | 显示全部楼层
理解好数据的内容啊
heimaojingzhang 发表于 2021-5-7 15:18 | 显示全部楼层
at指令代码吗
keaibukelian 发表于 2021-5-7 15:21 | 显示全部楼层
说明协议没有明确好
labasi 发表于 2021-5-7 15:22 | 显示全部楼层
定义好包头包尾和数据位
您需要登录后才可以回帖 登录 | 注册

本版积分规则

857

主题

10661

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部