PWM调光闪烁一般都是因为PWM不稳定引起的,最近用CC2541做蓝牙灯,裸机控制灯光很稳定,一旦将驱动加入BLE-STACK就开始有微弱的闪烁,在弱光条件下闪烁更加的明显。我用的是定时器1比较模式。经过半天的排查和网上搜索,终于找的问题的所在了,在此做个记录以帮助其他人少走弯路。问题主要是因为以下两点引起的:
1、将POWER_SAVING更改为xPOWER_SAVING,
2、将 HCI_EXT_ClkDivOnHaltCmd( HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT ); 改为HCI_EXT_ClkDivOnHaltCmd( LL_EXT_DISABLE_CLK_DIVIDE_ON_HALT );或者直接注释了。
从英文的字面意思很快可以看出要这么做的原因,这里有不多描述了。