接着准备开发环境,先到富芮坤微电子官网下载开发板资料,要对应硬件版本,下载地址如下:https://www.freqchip.com/gjhkfb 点开发板资料。
然后我们参考SDK教学入门目录下的《Fr801xH 快速入门.pdf》文档到ARM官网下载最新的Keil MDK5.30编译工具,下载地址如下:https://www.keil.com/download/product/。
安装完Keil MDK5.30工具后,还需要安装Keil工具针对Cotex-M3 核支持的软件包:https://www.keil.com/dd2/arm/armcm3/。
最后要下载Fr801xH SDK软件包,下载地址为:https://gitee.com/freqchip/FR801xH-SDK。
SDK的tools目录下有FR8010H_Download_Tool.exe是串口下载程序的工具,参考开发板使用手册V1.3目录下《FR8016HA开发板使用手册V1.3.pdf》文档的串口下载部分把富芮坤演示文件v1.3.bin下载到芯片内,LCD显示如下照片所示:
这时按键没有反应,检查原理图才知按键和I2C总线都需要跳线帽短接才能连通,如下图所示:
加上跳线帽后按键就有反应了,K1按键切换模式,K2按键在显示图片模式下切换图片,如下照片所示:
以上为开发板的初步体验,实际软件开发主要参考《FREQ BLE SDK User Guide V1.0.5.pdf》文档,下面在ble_simple_peripheral工程基础上实现手机的APP和开发板的蓝牙通信为例进行上位机通信测试,具体步骤如下:
1、首先在手机上下载安装蓝牙调试器APP,这个APP除了有广告外是免费使用的,如是第一次使用的话可以百度下具体使用方法,很容易上手的,APP LOG如下图示:
2、用MDK软件直接打开FR801xH-SDK-master\examples\dev1.0\ble_simple_peripheral\keil目录下的ble_simple_peripheral.uvprojx工程文件,出现下面提示:
选择Migrate to Device Pack后指定器件为上面下载安装的armcm3处理器即可,如下图示:
3、在SDK\components\ble\profiles\ble_simple_profile目录的simple_gatt_service.c文件的static void sp_gatt_write_cb(uint8_t *write_buf, uint16_t len, uint16_t att_idx)函数内可以添加接收手机发送过来的数据并进行处理的函数,原函数也有把接收数据通过串口打印。
4、用串口或者JTAG把程序下载到芯片,打开手机上的蓝牙调试器APP,先按下图修改BLE的UUID配置,如下图示:
然后点旁边的加号进行连接,连接成功后可以通过按键往开发板发送数据,提示在串口上可以看到对应的打印,如下图示:
这里注意下要使用新的SDK工程, 我这发现老的SDK工程好像有点问题。
5、实现开发板发送数据把手机,这个查看工程的播放音频模式下是有状态要返回上位机的,具体代码如下:
gatt_ntf_t ntf_att;
ntf_att.att_idx = SPEAKER_IDX_STATUS_REPORT_VALUE;
ntf_att.conidx = conn_idx;//Connection index
ntf_att.svc_id = speaker_svc_id;
uint8_t tmp[] = "finish";
ntf_att.p_data = tmp;
ntf_att.data_len = sizeof(tmp);
gatt_notification(ntf_att);
参考这部分代码修改在simple_gatt_service.c文件内发现蓝牙调试器APP接收不到数据,具体原因还要进行研究。
作者: wdzfd, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-401158.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论