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

蓝牙如何在睡眠(即PM2)模式下开启和关掉蓝牙广播(CC2541)

在开发过程,我们知道,在蓝牙配置完后,蓝牙可以一直处于广播状态(即使是在睡眠模式下);在睡眠模式下,程序启用sleep timer做为计数器来计数后产生定时中断,从而进行广播,并且在该中断中还可以执行其它工作,如AD采集等(这点已经证实)。

但是问题来了,在睡眠模式下,当AD测采集频率比广播频率要快时,如何让广播可控制;

比如,要求在睡眠模式下,AD采集为500ms采集一次,蓝牙广播要求1s广播一次,此时找不到解决方法,只能是AD采集和蓝牙广播的频率要一致,

要么500ms广播和采集AD值一次,这样会导致芯片在睡眠模式下功耗过高(PS:蓝牙在500ms/次的广播平均电流50uA左右,一个通道广播),

要么1s广播和采集AD值一次(PS:蓝牙在s/次的广播平均电流30uA左右,一个通道广播);

所以,如何让蓝牙在睡眠模式下,当sleep timer中断触发后,能不广播蓝牙,在下次(或下下次,次数可控制)sleep timer中断时再广播。

我在程序中试了很多次,在睡眠模式下,当sleep timer中断触发后,在中断中如果我将蓝牙广播关掉,sleep timer也会停止中断,课件蓝牙广播和该定时器中断在底层有某种联系,还请高人指点。

cedar_xuesong:

AD采集为500ms采集一次,蓝牙广播要求1s广播一次

这个要求是吧

单独为AD增加一个500ms定时器任务,就解决了

赞(0)
未经允许不得转载:TI中文支持网 » 蓝牙如何在睡眠(即PM2)模式下开启和关掉蓝牙广播(CC2541)
分享到: 更多 (0)