[STM8] 询问 电源切换

[复制链接]
2693|2
 楼主| mmxydq 发表于 2011-4-7 11:56 | 显示全部楼层 |阅读模式
进入低功耗前设置LSI为电源。halt前如下:
CLK_LSICmd(ENABLE);
while(((CLK->ICKCR)&0x10)!= 0x10);//等待目标时钟准备好
CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);
CLK_SYSCLKSourceSwitchCmd(ENABLE);
while (((CLK->SWCR)& 0x01)==0x01);//切换已好
while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_LSI);//确认转换完成
// CLK_SYSCLKSourceSwitchCmd(DISABLE);
// while (((CLK->SWCR)& 0x01)==0x01);//等待时钟切换完成
CLK_PeripheralClockConfig(CLK_Peripheral_TIM4, DISABLE);
CLK_HSICmd(DISABLE);
PWR->CSR2 = 0x2;
但是run了老是出问题,提示SWIM ERROR什么的,去掉上面这些后,正常。断点一步一步调试,在这句CLK_SYSCLKSourceSwitchCmd(ENABLE);出现run中出现的错误。不知道怎么回事,望指教,感激不尽。
barboon 发表于 2011-4-8 15:16 | 显示全部楼层
那是因为你在进入halt前把时钟从HSI切掉了,因为SWIM通信要用到HSI,一切掉通信连不上了SWIM ERROR很正常,不要管调试,直接跑,这代码没问题的。
cjhk 发表于 2013-2-10 18:32 | 显示全部楼层
呵呵  顶一个   呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

42

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部