TI中文支持网
TI专业的中文技术问题搜集分享网站

Warning[Pe223]: function "HCI_LE_ConnUpdateCmd" declared implicitly

我在从机工程里移植主机程序。

发现一个警告Warning[Pe223]: function "HCI_LE_ConnUpdateCmd" declared implicitly

跟踪进去,发现在hci.h文件里有定义。在1445行

需要定义:

#if defined(CTRL_CONFIG) && (CTRL_CONFIG & INIT_CFG)

extern hciStatus_t HCI_LE_ConnUpdateCmd( uint16 connHandle,

uint16 connIntervalMin,
uint16 connIntervalMax,
uint16 connLatency,
uint16 connTimeout,
uint16 minLen,
uint16 maxLen );
#endif // CTRL_CONFIG=INIT_CFG

请问,这个怎么定义呀?怎么弄?

谢谢了!!!

admin admin1:

头文件没包含?

fordream:

回复 admin admin1:

包含了

include "hci.h"

Viki Shi:

没有申明函数原型吧?解决办法看这边: http://blog.sina.com.cn/s/blog_629f56a70100irbn.html

wenzhong shen:

这个定义的含义是:如果你宏定义中出现了CTRL_CONFIG,而且CTRL_CONFIG的值按位与INIT_CFG后的值为真,那么就声明 HCI_LE_ConnUpdateCmd这个函数原型,反之不声明。所有这些都是在编译环节完成的,

你的警告显然是没有声明函数原型,也就是说要么你移植的程序没有宏定义CTRL_CONFIG,要么你定义了CTRL_CONFIG,但是定义的数值不等于INIT_CFG,

可以先去掉#if defined(CTRL_CONFIG) && (CTRL_CONFIG & INIT_CFG)  和#endif // CTRL_CONFIG=INIT_CFG 这两句,试试。

fordream:

回复 wenzhong shen:

谢谢你的回复。

去掉#if defined(CTRL_CONFIG) && (CTRL_CONFIG & INIT_CFG)  和#endif // CTRL_CONFIG=INIT_CFG 这两句,还是一样鞥名。

没有声明!

fordream:

回复 wenzhong shen:

你可以再从机工程里,把从机程序都删掉,添加主机程序。

添加相应的文件,比如profile的central.c .h

CQ JiMi:

回复 wenzhong shen:

我的程序也没有你们的那么复杂有宏定义,文件也包含进去了。但是怎么也提示说declared implicity呢?求大神指导

Bond chen:

buildConfig.cfg中有,修改为

//-DHOST_CONFIG=BROADCASTER_CFG//-DHOST_CONFIG=OBSERVER_CFG//-DHOST_CONFIG=PERIPHERAL_CFG//-DHOST_CONFIG=CENTRAL_CFG//-DHOST_CONFIG=BROADCASTER_CFG+OBSERVER_CFG//-DHOST_CONFIG=PERIPHERAL_CFG+OBSERVER_CFG//-DHOST_CONFIG=CENTRAL_CFG+BROADCASTER_CFG-DHOST_CONFIG=PERIPHERAL_CFG+CENTRAL_CFG

user4586837:

回复 Bond chen:

真厉害谢谢你 

赞(0)
未经允许不得转载:TI中文支持网 » Warning[Pe223]: function "HCI_LE_ConnUpdateCmd" declared implicitly
分享到: 更多 (0)