本帖最后由 bitter 于 2023-7-6 15:20 编辑
大家可以参考这篇文章:BLE学习(1):蓝牙协议栈的介绍
大家可以参考这篇文章:配置蓝牙协议栈,在这里补充几点
1.协议栈时钟
在上面的文章中提到,协议栈时钟来源一共有三种,分别是内部RC时钟、外部低速晶振和内部主时钟产生的低速时钟。
使用外部低速晶振,最省电,但是需要外接一个32.768kHz的低速晶振。这个时候还需要考虑外部晶振的精确度,这就体现在了nrf_clock_lf_cfg_t::accuracy这个参数上,这个参数体现了外部晶振的精度,而另两个参数nrf_clock_lf_cfg_t::rc_ctiv和nrf_clock_lf_cfg_t::rc_temp_ctiv则必须为零。
使用内部RC时钟的话,相比于外部晶振,将增加8到10ua的电流。而这两个参数nrf_clock_lf_cfg_t::rc_ctiv和nrf_clock_lf_cfg_t::rc_temp_ctiv从命名即可知道是针对内部RC时钟的。参数nrf_clock_lf_cfg_t::rc_ctiv为在1/4秒单位下的校准时间间隔,nrf_clock_lf_cfg_t::rc_temp_ctiv则为温度校准时间下的间隔。
使用内部主时钟产生的低速时钟,电流消耗最大,nrf_clock_lf_cfg_t::rc_ctiv和nrf_clock_lf_cfg_t::rc_temp_ctiv也必须为零。