我在使用CC2540蓝牙芯片的时候遇到以下两个问题:1、蓝牙的广播(advertising)的PDU数据包能不能更改,要是能更改的话如何进行?2、蓝牙的广播(advertising)的PDU数据包的发送快慢能否调节,如果能够调节请问如何进行?谢谢!
Viki Shi:
1、修改广播数据可以调用HCI_LE_SetAdvDataCmd或者GAP_UpdateAdvertisingData
2、可以用如下代码修改广播间隔:
// Set advertising interval,在这里修改蓝牙广播的间隔,即多少秒广播一次 {uint16 advInt = DEFAULT_ADVERTISING_INTERVAL;
GAP_SetParamValue(TGAP_LIM_DISC_ADV_INT_MIN, advInt);GAP_SetParamValue(TGAP_LIM_DISC_ADV_INT_MAX, advInt);GAP_SetParamValue(TGAP_GEN_DISC_ADV_INT_MIN, advInt);GAP_SetParamValue(TGAP_GEN_DISC_ADV_INT_MAX, advInt);}
user4427813:
回复 Viki Shi:
好的,我先试试,谢谢!
user4427813:
回复 Viki Shi:
你好,我想再问一下蓝牙广播的间隔最小可以到什么级别,即广播一次的时间是秒级的、微秒级的还是毫秒级的?这个与系统的时钟晶振有关还是与蓝牙协议本省有关?谢谢!
user4427813:
回复 Viki Shi:
你好,我想再问一下蓝牙广播的间隔最小可以到什么级别,即广播一次的时间是秒级的、微秒级的还是毫秒级的?这个与系统的时钟晶振有关还是与蓝牙协议本省有关?谢谢!
user4427813:
回复 Viki Shi:
你好,我想再问一下蓝牙广播的间隔最小可以到什么级别,即广播一次的时间是秒级的、微秒级的还是毫秒级的?这个与系统的时钟晶振有关还是与蓝牙协议本省有关?谢谢!
user4427813:
回复 Viki Shi:
你好,我想再问一下蓝牙广播的间隔最小可以到什么级别,即广播一次的时间是秒级的、微秒级的还是毫秒级的?这个与系统的时钟晶振有关还是与蓝牙协议本省有关?谢谢!
Viki Shi:
回复 user4427813:
ms级的,蓝牙spec里有规定,这部分在BLE spec 中Advertising Interval一节
Butterfly:
回复 user4427813:
BLE4.0, 广播间隔20 ms 到10.24 s,以0.625 ms 为单位调整