IAR编译出错,请教下到底是啥原因?
错误:
Error[e46]: Undefined external "GAP_UpdateLinkParamReq::?relay" referred in simpleBLEPeripheral ( E:\...\Projects\ble\SimpleBLEPeripheral\
CC2540DB\CC2540\Obj\simpleBLEPeripheral.r51 )
其他信息:
头文件已包含,然后直接调用的这个函数,为什么不成功?
gap.h文件中有定义这个函数啊,
extern bStatus_t GAP_UpdateLinkParamReq( gapUpdateLinkParamReq_t *pParams );
gap.h的头文件也已经包含在编译选项中:
$PROJ_DIR$\..\..\..\..\Components\ble\include
不知道是哪儿的问题了,谢谢解答~
看了下文档
This command can only be used when the local device’s role is Master,估计是这个原因吧~
admsadm,
没错。
slave的话你用这个去:GAPRole_SendUpdateParam()
Hi,Yan
谢谢你的热心解答,上诉那个问题已经解决。
但是我使用这个函数设置广播时间的时候,我进行抓包,对比广播的时间好像不太正确。
比如,我设置一个最大最小广播值均为800,也就是800*1.25 = 1000ms,实际却是1268ms这个样子;
设置一个最大最小广播值均为2400,也就是2400*1.25= 3000ms,实际上却是100ms这个样子,你没看错!
我想你混淆了广播间隔和连接间隔的概念,广播间隔的unit为625us,连接间隔的unit才为1.25ms。
楼上对的,在SimpleBLEperipheral工程中如下设置。
// 广播状态 的广播间隔 (units of 625us, 160=100ms 800=500ms)
#define DEFAULT_ADVERTISING_INTERVAL 800
// 设置广播间隔
{
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 );
}
你抓包的广播间隔这么长,不对。可否把设置广播间隔的代码传上来,看一下
wenzhong ,你好
我的本意是设置广播间隔,没看清楚这个函数的意义就设置了,疏忽了!
谢谢。不过广播设置请看我这个帖子,我疑惑的是广播周期只能在初始化的时候设置,其他地方设置无效~
难度不能动态设置么?
Hi,hua huamao
我在SimpleBLEPeripheral_ProcessEvent层SBP_START_DEVICE_EVT事件中设置过
if(events & SBP_START_DEVICE_EVT)
{
...
unt16 advIntervalMin = 1600 ;
uint16 advIntervalMax = 1600 ;
uint8 advType = HCI_CONNECTABLE_UNDIRECTED_ADV;
uint8 ownAddrType = HCI_PUBLIC_DEVICE_ADDRESS;
uint8 directAddrType = HCI_PUBLIC_DEVICE_ADDRESS;
uint8 *directAddr = NULL;
uint8 advChannelMap = HCI_ADV_CHAN_38;
uint8 advFilterPolicy = HCI_ADV_WL_POLICY_ANY_REQ;
HCI_LE_SetAdvParamCmd(advIntervalMin,advIntervalMax,advType,ownAddrType,
directAddrType,directAddr,advChannelMap,advFilterPolicy );
HCI_LE_SetAdvEnableCmd(HCI_ENABLE_ADV);
...
return (events ^ APP_DEBUG_TEST_EVT);
}
http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/67888.aspx
这个是我发的帖子
http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/p/22810/120797.aspx#120797
这个是我参考的一个帖子。