新华龙单片机时钟初始化

[复制链接]
2015|2
 楼主| 赵星宇 发表于 2013-5-29 14:28 | 显示全部楼层 |阅读模式
最近使用新华龙的C8051F920单片机,使用内部系统时钟,初始化如下:
void Oscillator_Init()
{
    int i;
        FLSCL     = 0x40;
    REG0CN   |= 0x10;  // Enable OSCBIAS bit in voltage regulator
    for (i = 0; i <14; i++);  // Wait 4us before enabling oscillator
    OSCICN   |= 0x8F;
    CLKSEL    = 0x00;
}
现在出现一个问题,程序有时候会在时钟初始化的时候停在for语句那点,如果将i<14改为i<5之后又能继续运行,请教各位大神,谁知道是为什么?可不可以不要for (i = 0; i <14; i++);  这条语句?
ayb_ice 发表于 2013-5-29 14:48 | 显示全部楼层
只能改大,不建议改小,如果有问题应该是其它地方引起的,比如WDT超时了
zwp0822 发表于 2013-5-29 14:58 | 显示全部楼层
应该是没关看门狗,for语句是等待时钟稳定的,不能删!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

80

帖子

1

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