打印
[技术问答]

MS51外部时钟切换的BUG

[复制链接]
260|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pocker5200|  楼主 | 2022-4-29 01:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
库版本MS51_Series_BSP_Keil_V1.00.004
sys.c文件
void ClockSwitch(unsigned char u8FsysMode)
{
  SFRS = 0 ;
  BIT_TMP=EA;EA=0;
  switch (u8FsysMode)
  {
    /***** HIRC Disable part ******/
    case FSYS_HIRC:
        clr_CKSWT_OSC1;
        clr_CKSWT_OSC0;
    break;
    /***** LIRC Disable part******/
    case FSYS_LIRC:
        set_CKSWT_OSC1;
        clr_CKSWT_OSC0;
    break;
    /***** ECLK P30 Disable part ******/
    case FSYS_OSCIN_P30:
        set_CKSWT_ECLKST;//手册描述的ECLKST外部时钟状态位是只读的,这里居然是写1
    break;
  }
  EA = BIT_TMP;
}


set_CKSWT_ECLKST;
改成
clr_CKSWT_OSC1;//
set_CKSWT_OSC0;//
就正常了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

28

帖子

0

粉丝