CLK_CKDIVR_CKM = 0; //系统时钟源不分频
CLK_ICKCR_LSION = 1; //启动LSI
while(CLK_ICKCR_LSIRDY); //等待LSI稳定
CLK_SWR = 0x02; //切换LSI为时钟源
CLK_SWCR_SWEN = 1; //允许时钟切换
while(CLK_SCSR != 0x02); //等待LSI切换为系统时钟源
// CLK_SWCR_SWEN = 0; //关闭时钟切换
// CLK_ICKCR_HSION = 0; //关闭HSI时钟
上面是切换的部分,将原来的系统时钟从HSI切换为LSI。写了个小例子是LED闪烁的。HSI下以1MHZ闪烁,LSI下肯定就是38KHZ啦!结果,用IAR联机调试的时候,切换后,LED明显感觉到了变化,切换成功;但是,退出仿真后,LED到LSI切换,就不再变化了!何解啊?找了一下午资料,没找出原因来!没辙了! |