单片机STC32G12K128 外接32768晶振作为时间时钟。
主程序初始化选择内部高速时钟作为系统时钟
HIRCCR = 0X80;
while(!(HIRCCR & 1));
CLKSEL = 0X00;
RTC初始化启动外部时钟
P_SW2 |= 0x80; //SFR enable
P1n_pure_input(0xc0); //P1.6 P1.7设置为高阻输入
P1IE = ~0xc0; //P1.6 P1.7关闭数字输入功能
X32KCR = 0x80 + 0x40; //启动外部32K晶振, 低增益+0x00, 高增益+0x40.
现在时钟运行正常。但是系统时钟也是外部32768时钟。用中断定时器测试。(22.1184M 定时1ms )
200ms 外接LED翻转一次。现在基本上7秒翻转一次,32768*7 基本上221184。说明系统时钟不正确。
设置很久 也没有研究出来。
求大神指导如何设置。
还是说系统时钟和外部时钟只能二选一?不能同时工作。我的理解是RTC工作在外部晶振。但是内部系统时钟还是工作在默认