很高兴能收到富芮坤开发板,拿到手感觉很是精致,小小的板子上功能很丰富,包含气压检测、六轴陀螺、温湿度计、蓝玡等模块,还带有一块LCD,方便调试。最具特色的是使用跳线来实现不同功能的切换,这样既能使用板载传感器的功能,也能将相应的GPIO口引出,方便连接其他外设,很有巧思。
FR8016HA的开发板有多种下载方式,包括JLINK和串口下载,前期使用CMSIS-DAP进行了下载,后来不知为何CMSIS-DAP出问题了,一直显示RDDI-ERR,索性就用自带的串口下载工具。也很方便 。
测试方面使用sdk自带的example程序,这里用的是ble_periphral。先开始LED灯程序。程序流程也比较清晰。主要是在proj_main(),由于main函数被封装在lib库里,这里并没有找到main函数,转而是使用多个初始化函数
user_entry_before_sleep_imp():进入睡眠模式前的回调函数,配置一些外设参数
user_entry_after_sleep_imp():退出睡眠模式后的回调函数,重新初始化外设参数,包括端口初始化、中断恢复等
user_entry_before_ble_init():BLE栈初始化前执行,一般理解为程序开始时的各种初始化操作
user_entry_after_ble_init():BLE栈初始化后执行,此时初始化已完成,开启用户任务。
将PD4、PD5、PD7分别链接上LED灯。修改代码,使用PWM驱动三个灯点亮。
在user_entry_before_ble_init()中添加初始化函数
结果如图所示:
下一步测试使用手机蓝牙与板卡进行通信。手机上安装蓝牙调试器,打开后连接上simple Per,在专业调试页面,使用通信设置添加数据包,这里的数据包结构如下,
包头 | 数据 | 校验 | 包尾 |
1字节,0xa5 | 自定义 | 1字节,目前没用到 | 1字节,0x5a |
下载完成后,通过手机调整,可在串口中看到接收到的数据。
说说几点不足
1、代码注释太少,特别对BLE不熟悉的开发小白不是很友好
2、网上能找到视频教程,但是学习连接天猫精灵的教程又太老,天猫AliGenie的见面已经变了,相应的操作也有所变化,需要更新。
3、本人由于对BLE不是很了解,还得继续对BLE及相关的AT指令进行深入学习。
这是我之前看的优酷上的视频教程,讲的还可以。
http://i.youku.com/u/UNDYyNjQzMTM5Ng==?spm=a2h0c.8166622.PhoneSokuUgc_1.3
最后,再次感谢富芮坤开发板能给我试用的机会,让我开始入门BLE开发。虽然时间很短,再加上前期因疫情,很多工具都在办公室,不能及时的试用。在之后的日子里,希望能继续试用这款开发板。