stm8lsi时钟起不来啊怎么配置

liuwy   2009-11-26 14:36 楼主


   CLK_ICKR=0x08;

/* Configure clock prescaler */


CLK_CKDIVR = 0x01;
/*
分频时钟源
*/


/* To select external source by automtic switch */


CLK_ICKR |= 0x10;
/*
使能转化 */


CLK_SWR
= 0xD2;

/*
时钟源选择 选择HSE*/

              

while (!(CLK_ICKR & 0x10));
/*
等待直到转换完成 */

              
              

if (CLK_CMSR != 0xD4)
检测是不是配置的时钟源



while(1);

回复评论 (6)

                                 版主 帮忙啊
点赞  2009-11-27 10:16
                                 没人吗
点赞  2009-11-27 14:46
                                 有啊
点赞  2009-11-27 14:52
                                 先使能时钟切换,再切换,不过你用LSI的干什么?
点赞  2009-11-28 18:21
void CLK_LSI(void)
{
        CLK_SWCR |= 0x02;                                                        /* 使能转化 */       
        CLK_SWR        = 0xD2;                                                                /* 时钟源选择 选择LSE*/
        while (!(CLK_SWCR & 0x08));                /* 等待直到转换完成 */       
        CLK_CKDIVR = 0;
        CLK_ICKR &= ~BIT(0);
}
void CLK_HSI(void)
{
        CLK_SWCR |= 0x02;                                                        /* 使能转化 */       
        CLK_SWR        = 0xE1;                                                                /* 时钟源选择 选择HSE*/
        while (!(CLK_SWCR & 0x08));                /* 等待直到转换完成 */       
        CLK_CKDIVR = 0;
        CLK_ICKR &= ~BIT(3);
}

注意用LSI要修改选项字节
点赞  2010-5-8 09:40
如果需要将LSI作为主时钟源是需要先打开Option Bytes的LSI_EN选项的。

点赞  2010-5-8 09:49
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复