BLE
lixingdian
这个作者很懒,什么都没留下…
展开
-
core_v5.3结构
bluetooth core v5.3概要原创 2022-10-28 17:12:22 · 155 阅读 · 0 评论 -
设置广播数据
Ble 4.2版本最多可设置31个字节的广播数据。广播数据可以按需求由几段广播数据,每段数据由整体数据长度、数据标志、数据三个部分组成。数据的格式按照length| type|data组成。后面的广播数据也是如此构成。广播数据标志可以查找枚举类型gap_ad_type获取。针对每个adv type后面的data部分都有相应的标准格式,可以参考蓝牙协议规范,如果要自定义一些数据就要加在adv type为0xFF的数据里。原创 2022-09-30 19:16:31 · 337 阅读 · 0 评论 -
core_v5.3 Resolving list翻译
《core_v5.3》 Resolving list翻译原创 2022-09-23 10:50:16 · 173 阅读 · 0 评论 -
使用GAPM_LIST_SET_CMD-GAPM_SET_WL设置白名单的经历
CIVA BLE 设置白名单原创 2022-09-17 20:18:45 · 216 阅读 · 0 评论 -
BLE一些消息的缩写的解析
BLE有许多约定俗成的缩写以及其对应的操作要求,这篇文章分享一下这些名称的解析。原创 2022-09-02 16:41:42 · 300 阅读 · 0 评论 -
HID profile的简单建立
目标:在BLE设备上建立HIDprofile,实现按键拍照功能。原创 2022-08-26 17:30:55 · 444 阅读 · 0 评论 -
Nordic nrf52832 flash 下载M4错误
Nordic nrf52832 flash 下载M4错误原创 2022-06-27 11:42:43 · 262 阅读 · 0 评论 -
HID设备描述符的解析(rep_map_data app_hid_report_map)
初学HID可能会对文件中的设备描述符不解可以理解这是一种用十六进制数据写的脚本语言,通过该脚本语言传递给上位设备。该语言描述了一个HID设备(可以是鼠标,键盘,游戏手柄,或者是蓝牙自拍杆)的一些基本情况,如按键数量,数据的最大最小值,携带的功能等等。以下是一个设备描述符的例子:const u8 rep_map_data [CUSTOMHID_SIZ_REPORT_DESC] ={ 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01原创 2022-05-26 13:56:00 · 3048 阅读 · 0 评论 -
统一的函数宏定义
在查看RivieraWaves的底层代码,看到了一个没见过的函数结构。KE_MSG_HANDLER_NO_STATIC(lld_scan_req_ind, struct lld_scan_req_ind){ uint8_t act_id = param->act_id; //function return (KE_MSG_CONSUMED);}搜索发现才明白KE_MSG_HANDLER_NO_STATIC是一种函数的宏定义。#define KE_MSG_HANDLER_原创 2022-05-11 09:45:34 · 142 阅读 · 0 评论 -
telink sig mesh存储流程-light
在主循环中有个的system_time_run中的light_par_save_proc中,检测全局变量tick_light_save。void light_par_save_proc(){ // save proc if(tick_light_save && clock_time_exceed(tick_light_save, 3*1000*1000)){ tick_light_save = 0; if(!is_actived_factory_test_mode()){原创 2022-02-10 15:42:56 · 363 阅读 · 1 评论 -
telink泰凌微 8266 8250 8258IO中断唤醒睡眠
需要注意的点:1、telink进入睡眠模式使用如下APIint cpu_sleep_wakeup (int deepsleep, int wakeup_src, u32 wakeup_tick);2、telink唤醒中断后会重新初始化,此时需要注意初始化时的初始化函数使用的哪一个,取决于main.c睡眠前,将需要触发唤醒的管脚上下拉设置好,再设置唤醒电平即可。注意无边沿触发。如下: gpio_setup_up_down_resistor(AN_KEY, PM_PIN_UP_DOWN_FLOA原创 2021-10-26 14:10:14 · 1785 阅读 · 5 评论 -
Nordic服务流程与服务获得的数据的使用流程
一、服务流程1、定义一个服务实例注册成BLE事件监视者,触发事件后可以通过注册时带的处理函数处理事件这个函数处理GATT的事件类型BLE_GATTS_EVTS实例化指的是定义一个带有需要功能,变量的全局变量。这个结构体需要:指向应用层的函数指针存储该服务的UUID type的u8存储从协议栈获得的服务句柄的u16存储从协议栈中获得的特征的句柄ble_gatts_char_handles_t事件数据结构体实例化2、将服务的自定义结构体其中的指针指向最终应用数据的应用函数。3、将自定义U原创 2021-07-09 11:20:25 · 335 阅读 · 0 评论 -
Nordic新增服务流程
Nordic新增服务流程1、设置服务UUID,以及指向这个ID的句柄将自定义UUID基数添加到SoftDevice,并且获得一个指向这个uuid的指针//*p_uuid_type指向这个uuiduint32_t, sd_ble_uuid_vs_add(ble_uuid128_t const *p_vs_uuid, uint8_t *p_uuid_type));2、添加服务sd_ble_gatts_service_adduint32_t, sd_ble_gatts_service_add(uin原创 2021-07-07 16:09:01 · 522 阅读 · 0 评论