微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 咨询几个HCI层的API函数

咨询几个HCI层的API函数

时间:10-02 整理:3721RD 点击:

Hi All

      小弟实在对以下几个API函数有些疑问,求解答:

1. 设置发射功率:HCI_EXT_SetTxPowerCmd();

注释说CC2540支持-23、-6、0、4dBm,而CC2541不支持4dBM模式。

请问使用CC2541的器件,如果写入参数为LL_EXT_TX_POWER_4_DBM会怎么样?是设置失败呢?还是会出错。。。

2.HCI_EXT_ClkDivOnHaltCmd();实在没看懂这个函数的注释。。。

想知道写入参数 HCI_EXT_DISABLE_CLK_divIDE_ON_HALT 或 HCI_EXT_ENABLE_CLK_divIDE_ON_HALT

会有什么影响。。。

3.HCI_EXT_SetFastTxResponseTimeCmd();

注释说:That is, the transmit response time will tend to be no longer than the connection interval....When disabled, the transmit response time will be no longer than slave latency + 1 times the connection interval.

是否可以这么理解:如果这个参数为Enable则SlaveLatency参数的设置等于无效。只有在Disable的情况下,从机才会根据SlaveLatency参数触发连接事件呢?

而这个默认就是Enable,也就是说我在初始化时设置SlaveLatency参数后,其实还要对这个函数设置为Disable才有效吧?!

4. HCI_EXT_ResetSystemCmd();系统复位命令。这里面的硬件复位,应该不会导致晶振需要重新起振吧?!

5. HCI_EXT_OverlappedProcessingCmd();这个API也实在没看懂。。。什么是重叠处理?使能/禁止有什么不同!

别让我再回头看注释了,看的懂就不用来这里问了。

求解答啊,谢谢!

糟糕~

看帖的有,回帖的没。。。

TI的专家快来帮忙啊。。。

shaokai,

1,放心,这个命令,如果你试图对CC2541设置4dBm,它会直接返回告诉你参数无效。

2,这条命令,Enable 的话,会在MCU空闲的时候降低主频来降低功耗,但是会影响到DMA控制器搬数据。

3,这个可以在你slave latency 无论是不是0的情况下,在最近的connection event中立即把数据发出去,当然,slave latency如果有的话,还是其作用的。

4,很有意思的问题,注意,你在PM3 模式下,所有晶振都是关闭的,PM2 模式下,32M 的也是关闭,正常运行的时候再起振,所以,不同模式下,你硬件复位,结果会怎么样,应该跟软件无关,你可以看一下main()函数里面HAL_BOARD_INIT()的时候晶振的操作。

5,请看这个wiki: http://processors.wiki.ti.com/index.php/OverlappedProcessing,所以,多看看TI 的wiki,非常有好处。

你是个好学的孩子,喜欢问各种问题,不过还真是要提醒你多去看看TI的wiki和TI提供的各种开发指导,比如协议栈安装好就带了很多文档,你要的这些HCI 命令的解释,我记得,在TI_VLE_Vender_Specific_HCI_Guide.pdf 里面应该就有的,很详细 ,或者上网搜索看看,一定要用google搜,不要用百度 :)

Yan

   1.OK.

    2.目前我已经设置HCI_EXT_HaltDuringRfCmd(HCI_EXT_HALT_DURING_RF_DISABLE);

看来这部分,我还是保留设置为Disable放心点,我才不在乎那一点点功耗。

    3.OK

    4.你是说,调用这个函数,设置看门狗溢出复位之后,系统在初始化还是会重新配置系统时钟。是这个意思吧?!

    5.OK。看看去。

我去,我已经奔三了!

有些资料前期看了,当时看的有很多不懂,以上几个我也是在TI_BLE_Vendor_Specific_HCI_Guide.pdf看的注释。

实在理解不了才来问的。

shaokai,

4,是的:)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top