之前找资料的时候总觉得不止那一点东西,肯定还有其他的,果不其然还有其他的SDK,这就是我一直想找的关于蓝牙这块的。还是挺搞不懂这些资料为什么分的这么散。
链接如下:http://wiki.telink-semi.cn/wiki/chip-series/TLSR9-Series/
下面就来说一下蓝牙这块,其中master_dongle和slave是可以配套使用的,master_dongle作为接收器,slave作为发射端,就可以实现双方的无线传输。
用户初始化函数,蓝牙的属性,名称等都是在这个函数里面进行初始化的。初始化的很多东西都可以直接跳过,看看就行了,要深究也没办法深究,因为根本无法深究。
主要关注的是GATT初始化和蓝牙广播设置:
GATT初始化这里只截取了部分,菜鸟表示对这块的也不是很理解,就不去过多的解释了。
下面的是蓝牙广播的设置的,包括广播的名称和类型。
blc_ll_setAdvParam是对ADV Event相关的参数进行设置。具体参数设置可以参考《Core_v4.2》.
最后用blc_ll_setAdvEnable使能广播。随后在手机上就可以搜到设备的蓝牙信号了。
////////// User Configuration for BLE application /////////
blc_ll_setAdvData( (u8 *)tbl_advData, sizeof(tbl_advData) );
blc_ll_setScanRspData( (u8 *)tbl_scanRsp, sizeof(tbl_scanRsp));
blc_ll_setAdvParam(ADV_INTERVAL_200MS, ADV_INTERVAL_200MS, ADV_TYPE_CONNECTABLE_UNDIRECTED, OWN_ADDRESS_PUBLIC, 0, NULL, BLT_ENABLE_ADV_ALL, ADV_FP_NONE);
blc_ll_setAdvEnable(BLC_ADV_ENABLE); //ADV enable
手机搜到的蓝牙,系统默认的设置
另一个对应的master_dongle因为作为接收端所以是没有蓝牙广播的,会主动连接指定名称的蓝牙,并接收数据。其他好像也没什么好说的了,有什么表达不当或理解错误的地方欢迎各位大佬指正。
|