富芮坤蓝牙服务开发
打开官方例程
打开工程下的ble_simple_peripheral例程,路径如下:fr8000\examples\none_evm\ble_simple_peripheral\keil,官方例程下载请参考富芮坤进行OTA升级进行下载
使能notify功能
打开simple_gatt_service.c文件,找到simple_profile_att_table函数,使能相关服务, 在调用服务时要注意相应序号:
1 | const gatt_attribute_t simple_profile_att_table[SP_IDX_NB] = |
打开ble_simple_peripheral.c文件,找到app_gap_evt_cb函数,在GAP_EVT_SLAVE_CONNECT事件下作出如下更改,使能notify:
1 | uint8_t sp_conidx; //蓝牙连接号condix |
使用如下一段程序即可实现notify上报数据功能
1 | gatt_ntf_t ntf_att; |
处理数据接收
打开simple_gatt_service.c文件,找到sp_gatt_msg_handler函数,在GATTC_MSG_READ_REQ与GATTC_MSG_WRITE_REQ事件下做出如下更改:
1 | static uint16_t sp_gatt_msg_handler(gatt_msg_t *p_msg) |
蓝牙数据的发送与接收:
在GATTC_MSG_READ_REQ事件中,可对发送数据进行处理;
在GATTC_MSG_WRITE_REQ事件中,可对接收数据进行处理;
如上,即可完成蓝牙数据接收与发送功能的实现。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 willowの博客!
评论
ValineDisqus