[技术问答] MS51外部时钟切换的BUG

[复制链接]
438|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

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