我想使用蓝牙发送脑电数据,这个数据为6个字节,我应该如何才能是这6个数据一直通过蓝牙发送呢?暂时我的理解是一直更新一个服务特征对应的结构体,也就是第一个图中的sunlightService_UpdatePeriodVal,可是我在分析main函数中发现project_zero就是一个线程,那么我可以再创建一个脑电采集的线程?用来更新这个sunlightService_UpdatePeriodVal数组数据?如果不是的话,我应该如何做才能让蓝牙一直发送一个6字节的,随时更新的数组呢?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我想使用蓝牙发送脑电数据,这个数据为6个字节,我应该如何才能是这6个数据一直通过蓝牙发送呢?暂时我的理解是一直更新一个服务特征对应的结构体,也就是第一个图中的sunlightService_UpdatePeriodVal,可是我在分析main函数中发现project_zero就是一个线程,那么我可以再创建一个脑电采集的线程?用来更新这个sunlightService_UpdatePeriodVal数组数据?如果不是的话,我应该如何做才能让蓝牙一直发送一个6字节的,随时更新的数组呢?
您好,
如果您要以固定频率发送数据,我们建议在所需的时间间隔内实现计时器或时钟的回调。在回调中,可以将 GATT 通知加入队列以发送新更新的数据。我们建议您参考 simple_peripheral 项目,因为该项目默认内置了一个定期事件,可用作实现所需功能的参考。
我们建议您参考 User's Guide里面 Generic Attribute Profile (GATT)这一章节, HID over BLE和 throughput_peripheral这两个示例。这些示例展示了如何使用 GATT_Notification() 函数,文档提供了一些关于通知工作原理的理论。User's Guide的Clock章节还包含有关如何设置周期性事件的参考信息。