中移ML307开发板板载蓝牙使用教程-这节提供一个工程模板(串口,RS485,定时器),工程模板使用说明
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ML307_OPEN_BLE" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
工程基本说明
为便于客户开发,这边提供了一个模板,模板已经包含了蓝牙,mesh组网,USB等lib包,客户可在此基础上进行开发;
如果客户只需要模板里面的部分功能,下面有移植说明;
这边文档里面还有包含头文件,lib文件操作步骤;
1,打开这节的工程
2,初始化串口
3,单片机发送AT指令给4G模块, 然后使用串口1输出4G模块返回的数据
把单片机程序下载到单片机以后,使用串口模块连接单片机的串口
这个OK是4G模块返回的
4,串口1接收什么就返回什么
5,RS485接收什么就返回什么
6,系统滴答定时器
7,定时器
功能移植(把模板里面的串口x移植到自己的工程)
一,这边的代码是使用环形队列+空闲检测的形式,直接使用此框架可按照下面的说明移植
1,把这个文件夹放到自己的工程
如果自己的工程现成处于打开状态, 添加文件夹后,工程不会自动刷新, 选择工程然后按键盘的 F5 刷新下
2,添加路径包含头文件 (鼠标右键)
3,把下面这些文件放到自己的工程
time定时器是1ms定时器,用作串口空闲检测计时, 如果用户有自己的定时器,可以把 uart_idle_loop 函数放到自己的定时器里面, 不用移植time文件;
4,然后就可以参考使用了
二,如果客户不需要这么繁琐的处理, 下面以移植串口0为例, 这边只说关键地方
功能移植(把模板里面的lib包移植到自己的工程)
1,工程里面有蓝牙,MESH组网和USB的lib包
2,把LIB包文件夹放到自己的工程
3,添加lib包包含
同样添加其它lib包
现在说下把别的工程的功能移植到这个模板里面
1,以蓝牙接收广播为例,打开这个工程
2,只关注红色箭头,其它文件都是公共的,不需要移植
3,把 observer.c和 observer.h复制到模板工程
我放到了 src 文件夹
3,把 HAL 文件夹复制到模板工程
4,关于原来的程序禁止编译KEY.c 和 LED.c了
咱也可以设置禁止编译
4,HAL文件夹需要添加包含里面的头文件
5,然后把原先工程主函数里面的程序拷贝到咱的模板里面
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2022-10-15 4-Air724UG模块(4G全网通GPRS开发)-下载DTU固件和入门使用(使用的我的模块看这一节)
2020-10-15 Android 开发:基础入门篇-关于 gradle-X.X-all 安装失败问题
2019-10-15 YY天气使用
2019-10-15 单片机模块化程序: 给单片机写个回调函数怎么样
2016-10-15 232转485转换器改进为有电源的可以双向传输