CC2541开启POWER SAVING,无32k低频晶振情况下SPI问题
时间:10-02
整理:3721RD
点击:
大家好:
如题,目前板子的情况是板上只有32MHz高频晶振,没有32.768kHz低频晶振。
HAL_BOARD_INIT()函数去掉了 /*SET_OSC_TO_HSOSC();*/ 和 /*SET_32KHZ_OSC();*/ 。
现象是,不开启POWER SAVING时,程序正常。
开启POWER SAVING后,SPI无法收到数据。
请问下各位这种情况下SPI想正常工作需要怎么做呢?
POWER SAVING情况下,使用的是32k晶振,能问一下不接32k晶振的理由吗?
目前硬件部门给出的理由是引脚不够用了。要将P2_3和P2_4作为普通IO口。
那么修改下代码,改用内部32k晶振吧。老实说内部晶振稳定性和精确度都比较差,一般还是推荐用外部的
我已经在HAL_BOARD_INIT()函数去掉了 /*SET_OSC_TO_HSOSC();*/ 和 /*SET_32KHZ_OSC();*/,但是SPI还是不好用。请问还有其他需要改动的地方吗?
除了上面这两行语句,请参考CC2540/41 User's Guide里 CLKCONCMD选择时钟源
再次声明,蓝牙规范要求32k晶振的精度在±500 ppm及以上,而内部晶振的精度是 ±2000ppm,不符合规范要求。可以想见这样用有很大的隐患。具体可以参考AN119
了解了,谢谢!