泰凌微TLSR825X开发一蓝牙通信实例 您所在的位置:网站首页 芯片手册app 泰凌微TLSR825X开发一蓝牙通信实例

泰凌微TLSR825X开发一蓝牙通信实例

2023-10-03 09:18| 来源: 网络整理| 查看: 265

背景

泰凌微蓝牙方案在消费类产品中近两年才火起来,实际网上也没有太多资料,芯片缺货的情况下作为替代方案还是可行的,手上有块TLSR8258的开发板,也就边看文档调试边记录 这里采用8258的方案在调,其实825X系列仅内部资源不一样(价格高低),实际选型的时候根据产品定位来选择合适的型号

型号flashsram8251512kB32kB8253512kB48kB8258512kB64kB

如有异议,欢迎指正,转载请注明出处

资源及SDK下载 特性 BLE5.0;支持Telink Mesh(私有)Flash 512Kb Ram64Kb(TLSR8258)1.8V~3.6V5.3mA Rxfullchip;4.8mA Tx 0dbm_fullchip; blc_readFlashSize_autoConfigCustomFlashSector();//读取片上flash配置 } blc_app_loadCustomizedParameters(); //加载参数 if( deepRetWakeUp ){ user_init_deepRetn (); //休眠唤醒后的快速初始化 } else{ user_init_normal ();//ble系统初始化 } irq_enable();//开启中断 while (1) { #if (MODULE_WATCHDOG_ENABLE) wd_clear(); //clear watch dog #endif main_loop ();//主循环任务,ble收发、低功耗 } } 蓝牙配置

在app.c文件中主要为gap相关配置

修改广播周期 #define MY_APP_ADV_CHANNEL BLT_ENABLE_ADV_ALL//全通道 37 38 39 #define MY_ADV_INTERVAL_MIN ADV_INTERVAL_30MS//30ms #define MY_ADV_INTERVAL_MAX ADV_INTERVAL_35MS//35ms 蓝牙广播:修改广播报文与扫描应答报文 // // Adv Packet, Response Packet // const u8 tbl_advData[] = { 0x05, 0x09, 'k', 'H', 'I', 'D', //广播local name 0x02, 0x01, 0x05, // BLE limited discoverable mode and BR/EDR not supported 0x03, 0x19, 0x80, 0x01, // 384, Generic Remote Control, Generic category 0x05, 0x02, 0x12, 0x18, 0x0F, 0x18, // incomplete list of service class UUIDs (0x1812, 0x180F) }; const u8 tbl_scanRsp [] = { 0x08, 0x09, 'k', 'S', 'a', 'm', 'p', 'l', 'e', }; 连接参数:修改连接间隔 void task_connect (u8 e, u8 *p, int n) { // bls_l2cap_requestConnParamUpdate (8, 8, 19, 200); // 200mS bls_l2cap_requestConnParamUpdate (8, 8, 99, 400); // 1 S // bls_l2cap_requestConnParamUpdate (8, 8, 149, 600); // 1.5 S // bls_l2cap_requestConnParamUpdate (8, 8, 199, 800); // 2 S // bls_l2cap_requestConnParamUpdate (8, 8, 249, 800); // 2.5 S // bls_l2cap_requestConnParamUpdate (8, 8, 299, 800); // 3 S latest_user_event_tick = clock_time(); device_in_connection_state = 1;// interval_update_tick = clock_time() | 1; //none zero } 调整发射功率 #define MY_RF_POWER_INDEX RF_POWER_P3p01dBm 主任务

在main_loop中运行了主要的应用任务

blt_sdk_main_loop:必须被周期性调用,内部执行了BLE数据解析与逻辑处理blt_pm_proc:低功耗处理接口,通过宏BLE_APP_PM_ENABLE来配置使能blt_pm_proc:蓝牙广播与连接通信时的低功耗,包括超时60sec进入deepsleep,后续在低功耗调试里面展开讲解 void main_loop (void) { // BLE entry / blt_sdk_main_loop(); //ble数据与逻辑处理 // UI entry / #if (!TEST_CONN_CURRENT_ENABLE) //demo板子上的按键,可在头文件使能 #if (SAMPLE_BOARD_SELECT == EVK_C1T139A30_V1P2) proc_keyboard (0, 0, 0);//按键处理 #elif (SAMPLE_BOARD_SELECT == DONGLE_C1T139A3_V2P0A) // process button 1 second later after power on, to avoid power unstable if(!button_detect_en && clock_time_exceed(0, 1000000)){ button_detect_en = 1; } if(button_detect_en && clock_time_exceed(button_detect_tick, 5000)) { button_detect_tick = clock_time(); proc_button(0, 0, 0); } #endif #endif // PM Process / blt_pm_proc(); //pm低功耗,在头文件中配置 } 运行测试

在vendor目录下mesh工程进行编译,在8258_ble_sample目录下生成8258_ble_sample.bin的固件,并通过BDT工具烧录固件 在这里插入图片描述

打开app可以扫描到名称为ksample的设备,其中kHID是广播名称 在这里插入图片描述

连接后可查看到支持的服务,其中ota是泰凌微私有定义的,所以app显示为未知服务;由于支持了HID的服务,可以使用带蓝牙的PC来连接设备 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有