zoukankan      html  css  js  c++  java
  • 单片机成长之路(stm8基础篇)- 025 stm8 时钟切换

    stm8 时钟切换;

     1 /************************************ 时钟设置 ************************************/
     2 // 时钟 0:内部高速 1:内部低速 2:外部 3:保留
     3 void set_System_clock(char clock_mode){
     4   // set CPUDIV
     5   CLK_CKDIVR &= 0xf8;CLK_CKDIVR |= 0x00;        // 设置 CPUDIV 不分频
     6   switch(clock_mode){
     7     case 0:{        // set HSI
     8       CLK_CKDIVR &= 0xe7;CLK_CKDIVR |= 0x00;    // 设置 HSIDIV 不分频
     9     }break;
    10     case 1:{        // set LSI
    11       CLK_ICKR |= MASK_CLK_ICKR_LSIEN;     /* 打开内部低速时钟源 */  
    12       while(CLK_ICKR_LSIRDY == 0);         /* 等待时钟源信号稳定,稳定后CLK_ICKR_LSIRDY置位 */
    13       CLK_SWCR = MASK_CLK_SWCR_SWEN;       /* 转换使能,采用自动转换方式 */
    14       CLK_SWR  = 0xD2;                     /* 选择内部低速时钟源 */
    15       while(!(CLK_SWCR & 0x08));           /* 切换完成后,SWIF置位 */
    16     }break;
    17     case 2:{        // set HSE
    18       CLK_ECKR |= MASK_CLK_ECKR_HSEEN;     /* 打开外部高速时钟源 */  
    19       while(CLK_ECKR_HSERDY == 0);         /* 等待时钟源信号稳定,稳定后CLK_ECKR_HSERDY置位 */
    20       CLK_SWCR = MASK_CLK_SWCR_SWEN;       /* 转换使能,采用自动转换方式 */
    21       CLK_SWR  = 0xB4;                     /* 选择外部高速时钟源 */
    22       while(!(CLK_SWCR & 0x08));           /* 切换完成后,SWIF置位 */
    23     }break;
    24     case 3:{        // 保留
    25       ;
    26     }break;
    27     default:break;
    28   }
    29 }
  • 相关阅读:
    MySQL四种分区类型
    CentOS下升级MySQL 5.0.* 到5.5
    CentOS5.5使用yum来安装LAMP
    mysql-bin 常见操作
    引爆你的Javascript代码进化
    python读写excel的简单方法demo
    python时间戳数字转为字符串格式表达
    Djang——CSRF verification failed. Request aborted
    Apache部署django
    Qt设置windows系统时间
  • 原文地址:https://www.cnblogs.com/jikexianfeng/p/11631927.html
Copyright © 2011-2022 走看看