中移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,然后把原先工程主函数里面的程序拷贝到咱的模板里面