登录发现更多内容
首页
分类
发帖
账号
自动登录
找回密码
密码
登录
立即注册
立即登录
立即注册
其他登录
QQ
微信
首页
Portal
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
产品教程
BBS
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
开发资料
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
样品购买
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
IoT云平台
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
GitHub
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
技术博客
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
搜索
搜索
热搜:
LoRa
ESP8266
安信可
本版
帖子
用户
请
登录
后使用快捷导航
没有账号?
立即注册
每日签到
任务
广播
导读
排行榜
设置
我的收藏
退出
8
0
0
首页
技术杂谈
›
一天一句C语言,准备拿下小安派!16
返回列表
一天一句C语言,准备拿下小安派!16
[ 复制链接 ]
发布帖子
ckdsx.cn
论坛元老
74
主题
185
回帖
5676
积分
论坛元老
论坛元老, 积分 5676, 距离下一级还需 9994323 积分
论坛元老, 积分 5676, 距离下一级还需 9994323 积分
积分
5676
私信
8人留言
楼主
技术杂谈
1458
8
2023-10-9 16:35:37
[i=s] 本帖最后由 ckdsx.cn 于 2023-10-9 16:47 编辑 [/i]
> 本帖最后由 ckdsx.cn 于 2023-10-9 16:38 编辑 ```//对EC616S模块发送AT指令 struct STRUCT_USART_Fram EC616S_Fram_Record_Struct = { 0 }; //定义了一个数据帧结构体 // cmd 待发送的指令 // ack1,ack2;期待的响应,为NULL表不需响应,两者为或逻辑关系 // time 等待响应时间 //返回1发送成功, 0失败 bool EC616S_Send_AT_Cmd(char *cmd,char *ack1,char *ack2,u32 time) { EC616S_Fram_Record_Struct .InfBit .FramLength = 0; //重新接收新的数据包 EC616S_USART("%s\r\n", cmd); if(ack1==0&&ack2==0) //不需要接收数据 { return true; } printf("delay some time to get receive data\r\n"); delay_ms(time); //提供足够的时间用于接收数据,(数据接收部分在uart中断usart.h --> USART2_IRQHandler(void) 中完成) delay_ms(1000); EC616S_Fram_Record_Struct.Data_RX_BUF[EC616S_Fram_Record_Struct.InfBit.FramLength ] = '\0';printf("EC616S_data:%s",EC616S_Fram_Record_Struct .Data_RX_BUF); if(ack1!=0&&ack2!=0) { return ( ( bool ) strstr ( EC616S_Fram_Record_Struct .Data_RX_BUF, ack1 ) || //查询 ( bool ) strstr ( EC616S_Fram_Record_Struct .Data_RX_BUF, ack2 ) ); } else if( ack1 != 0 ) //strstr(s1,s2);检测s2是否为s1的一部分,是返回该位置,否则返回false,它强制转换为bool类型了 return ( ( bool ) strstr ( EC616S_Fram_Record_Struct .Data_RX_BUF, ack1 ) ); else if( ack2 != 0 ) return ( ( bool ) strstr ( EC616S_Fram_Record_Struct .Data_RX_BUF, ack2 ) ); else return false; printf("EC616S_data:%s",EC616S_Fram_Record_Struct .Data_RX_BUF); if(ack1!=0&&ack2!=0) { return ( ( bool ) strstr ( EC616S_Fram_Record_Struct .Data_RX_BUF, ack1 ) || //查询 ( bool ) strstr ( EC616S_Fram_Record_Struct .Data_RX_BUF, ack2 ) ); } else if( ack1 != 0 ) //strstr(s1,s2);检测s2是否为s1的一部分,是返回该位置,否则返回false,它强制转换为bool类型了 return ( ( bool ) strstr ( EC616S_Fram_Record_Struct .Data_RX_BUF, ack1 ) ); else if( ack2 != 0 ) return ( ( bool ) strstr ( EC616S_Fram_Record_Struct .Data_RX_BUF, ack2 ) ); else return false; } ``` --- 很多模块都用的是AT命令,直接使用是方便,但是还有好多同学不明白如何编写对应的操作函数, 以上是我找到的一段既有命令发送又有回调判断的通用函数示例,仅供参考!
点赞
0
收藏
0
淘帖
0
────
0
人觉得很赞
────
回复
使用道具
举报
8 回复
电梯直达
正序浏览
倒序浏览
正序浏览
沙发
WangChong
回复
使用道具
举报
2023-10-9 16:36:59
学习了
回复
评论
使用道具
举报
板凳
ckdsx.cn
楼主
回复
使用道具
举报
2023-10-9 16:39:27
WangChong 发表于 2023-10-9 16:36
学习了
真快,我都还不知道怎么调整代码颜色,就跟上来了~
回复
评论
使用道具
举报
地板
iiv
回复
使用道具
举报
2023-10-9 18:49:57
实名插眼
回复
评论
使用道具
举报
5
#
496199544
回复
使用道具
举报
2023-10-9 21:21:19
学习
回复
评论
使用道具
举报
6
#
jkernet
回复
使用道具
举报
2023-10-9 22:11:43
打卡学习
回复
评论
使用道具
举报
7
#
粉色小风扇
回复
使用道具
举报
2023-10-10 08:43:48
老师又更新教程了
回复
评论
使用道具
举报
8
#
lsrly
回复
使用道具
举报
2023-10-10 10:50:55
不错不错,真不错
回复
评论
使用道具
举报
9
#
望风阁
回复
使用道具
举报
2024-4-18 17:46:59
我也想要小安派
回复
评论
使用道具
举报
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
立即登录
手机登录
点评
高级模式
本版积分规则
回帖并转播
回帖后跳转到最后一页
返回
浏览过的版块
爱星物联IoT云平台
今日推荐
ai wb2 串口调试,疯狂输出乱码
BW16打板擦除失败是什么原因
我在Application中使能了blinky sample, 程序并没有运行
机器人量产,以后会不会搬砖越来越难
FreeRTOS学习-02-i2c
FreeRTOS学习-01-PWM
FreeRTOS学习-00-led
AI-WV02-32S 无法烧录 ErrorCode: 003B, ErrorMsg: BFLB FLASH S
Ai-M61-32SU 模块硬件版本 V1.2-A1
浅尝bouffalo_sdk
热帖排行
Ai-M61-32S开发板的WIFI怎么实现串口数据透传?
在helloworld 并无mtimer的初始化,为什么可以直接调用函数bflb_
ai wb2 串口调试,疯狂输出乱码
Ai-M61-32s外设例子RTC问题
SDK包bouffalo_sdk-master中peripherals例子 mtimer疑问
开发板是Ai-M61-32S,询问引脚定义
BW16打板擦除失败是什么原因
RD-03Dv2不需要重新生成门限?
统计信息
会员数: 31021 个
话题数: 44919 篇
首页
分类
我的