在TI的官方应用笔记AN120中,cc2541被要求配置的几个寄存器有RFC_OBS_CTRL0(0x68@0x61EB), RFC_OBS_CTRL1(0x6A@0x61EC), TxPower(0xF1@0x6186), OBSSEL1(0xFB@0x6244), OBSSEL3(0xFC@0x6247), 以及P1DIR(0x02@0xFD)这六个,但是为什么应用笔记中的这六个寄存器地址以及推荐的配置值都跟用户手册对不上呢?用户手册上面的地址分别是0x61AE, 0x61AF, 0x6186, 0x6244, 0x6246, 0xFE,而且一些推荐的值也是保留值,不能用啊,求破!!
Yan:
andy,
以CC2541的user guide为准。
另外,你无需自己去配置那些寄存器。
CC2541的SDK里面已经留了软件接口,可以让你直接去配置:
The TI BLE software stack supports CC2590 and the automatic control is enabled by the use of HCI_EXT_ExtendRFRangeCmd.
Andy WHO:
回复 Yan:
Yan,
感谢的回答,我没有找到关于HCI_EXT_ExtendRFRangeCmd这个函数的定义或者说明,因此还是不太明白如何通过这个函数来自动配置那些寄存器,希望能得到帮助,非常感谢!
Susan Yang:
回复 Andy WHO:
可以参考hci.h
/******************************************************************************* * @fn HCI_EXT_ExtendRfRangeCmd API * * @brief This HCI Extension API is used to Extend Rf Range using the TI * CC2590 2.4 GHz RF Front End device. * * Related Events: HCI_VendorSpecifcCommandCompleteEvent * * input parameters * * @param None. * * output parameters * * @param None. * * @return hciStatus_t */extern hciStatus_t HCI_EXT_ExtendRfRangeCmd( void );