因为刚用iar for stm8 碰到菜鸟问题,求大神,弄了好久了,网上也查不到资料,没办法

2019-03-23 19:41发布

void CLK_Init(void)
{
/* 使用外部晶振
    CLK_DeInit();
    CLK_HSECmd(ENABLE);
    while(SET != CLK_GetFlagStatus(CLK_FLAG_HSERDY));
    CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);
    CLK_ClockSwitchCmd(ENABLE);                        //--> 使能时钟切换功能
    CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_ENABLE);
*/
///* 使用内部晶振   
    CLK_DeInit();
    CLK_HSICmd(ENABLE);
    while(SET != CLK_GetFlagStatus(CLK_FLAG_HSIRDY));
    CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
    CLK_ClockSwitchCmd(ENABLE);                       // --> 使能时钟切换功能   
    CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSI,DISABLE,CLK_CURRENTCLOCKSTATE_ENABLE);
//*/
}

上面的代码碰到问题,当程序跑到这里后 while(SET != CLK_GetFlagStatus(CLK_FLAG_HSIRDY));  就一直停在这里,内部晶振外部晶振都试过了,2个都停在这个位置。
我自己用小程序调试又没有问题,用当前这个程序就出现这个问题。
各位大神,有没有什么方面需要注意的设置或者什么地方需要注意的吗?
因为公司要搞项目,需要用到stm8s207,也是刚接触的iar for stm8, 平时都是用keil编译的。求助。谢谢了 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。