睡眠时钟咨询
早上好,各位:
官方例程中的时钟初始化如下:
#define HAL_BOARD_INIT() \
{ \
/* Set to 16Mhz to set 32kHz OSC, then back to 32MHz */ \
START_HSOSC_XOSC(); \
SET_OSC_TO_HSOSC(); \
SET_32KHZ_OSC(); \
SET_OSC_TO_XOSC(); \
STOP_HSOSC(); \
\
/* Enable cache prefetch mode. */ \
PREFETCH_ENABLE(); \
}
这里看的我有点晕,为什么几个不同频率的时钟切来切去的?最后到底跑的是哪个?
另外, 我看了用户手册,Sleep Timer工作是在32KHz的,这个应该是在睡眠时使用的时钟吧,那么唤醒时,CPU的时钟到底是哪个?
16MHz还是32MHz?
shaokai,
16MHz 是芯片内部的RC 振荡器。32MHz 是外部主晶振,系统正常运行的时候用的是这个。
sleep timer 用的是32KHz的外部晶振,系统休眠PM2模式下用的是这个。
这个函数你不必需要关心,这是系统时钟起来的过程,要等起振,稳定,等等等等,所以中间有一系列过程。
OK Thanks.
Yan
另外,我还有个问题。由于我目前用的开发板是TI的Keyfob小板,上面有Debug的端口,可直接跟CCDebugger连接。
我想了解一下,如果自己引线出来连接CCDebugger,哪几个引脚是必须的?哪些是可以去掉的?(全部连可有10个pin啊。。。)我该在哪里找到这些说明呢?
shaokai,
VCC, GND, RESET, DC DD.
这个...
Yan,你说的是必须的是吧?
就是说MOSI、MISO、SCK、SSN都可以去掉了。。。
我一直以为这几个引脚时必须的。这几个引脚时什么情况下回用到的?你看我的图对么?
shaokai,
晚了点,但是是的,这些是SPI的口,连Debugger的时候可以去掉。
Yan
没关系,关键的答案你已经在前面给过我了。而且我也已经试过了。还是谢谢你!