历史上的今天
今天是:2025年02月25日(星期二)
2020年02月25日 | STM8 HSI与HSE手动切换时钟源
2020-02-25 来源:eefocus
实验平台:思修电子工作室"祥云小王子"开发版
int main(void)
{
PI_DDR_DDR0=1;//配置PI0端口为输出模式
PI_CR1_C10=1; //配置PI0端口为推挽输出模式
PI_CR2_C20=0; //配置PI0端口低速率输出
led1=1; //PI0输出为高电平,D1熄灭
while(1)
{
//************HSI->HSE时钟手动切换流程及注释说明************
//如果CLK_CMSR中的主时钟源为HSI,则CLK_CMSR=0xE1
//如果CLK_CMSR中的主时钟源为LSI,则CLK_CMSR=0xD2
//如果CLK_CMSR中的主时钟源为HSE,则CLK_CMSR=0xB4
//1.首先开启时钟切换中断使能,也就是时钟切换寄存器CLK_SWCR中的SWIEN=1
CLK_SWCR|=0x04;
//2.选择主时钟源,对主时钟切换寄存器CLK_SWR写入欲切换时钟
CLK_SWR=0xB4;//配置CLK_CMSR中的主时钟源为HSE
//3.开启全局中断
asm("rim");
//************************************************************
led();//图10.13所示【A】区域电平状态
//************************************************************
//************HSE->HSI时钟手动切换流程及注释说明************
//如果CLK_CMSR中的主时钟源为HSI,则CLK_CMSR=0xE1
//如果CLK_CMSR中的主时钟源为LSI,则CLK_CMSR=0xD2
//如果CLK_CMSR中的主时钟源为HSE,则CLK_CMSR=0xB4
//1.首先开启时钟切换中断使能,也就是时钟切换寄存器CLK_SWCR中的SWIEN=1
CLK_SWCR|=0x04;
//2.选择主时钟源,对主时钟切换寄存器CLK_SWR写入欲切换时钟
CLK_SWR=0xE1;//配置CLK_CMSR中的主时钟源为HSI
//3.开启全局中断
asm("rim");
//************************************************************
//CLK_CKDIVR=(u8)0x10;//用户调整HSI时钟源分频因子
//************************************************************
led();//图10.13所示【B】区域电平状态
//************************************************************
}
}
//************************中断函数区域****************************
#pragma vector=4
__interrupt void CLK_IRQHandler(void)//时钟源切换中断函数
{
CLK_SWCR &= 0xF7;//清除SWIF中断标志位
CLK_SWCR |= 0x02;//对SWEN位置“1”,启动切换
}
上一篇:STM8L之RTC
下一篇:STM8L RTC总结(1)
史海拾趣
|
(一)视频监控产品市场规模与结构 1.市场规模 2008年IP监控系统应用进入实质阶段。监控系统前端设备,模拟产品还占大部分市场,从系统本身结构来看,目前监控系统几乎完全进入网络世界,因为现在不要求远程联网的项目已经比较少了。从市 ...… 查看全部问答> |
|
MMC::MMCCommandResponse: MMCSendCommand error, command = 17 MMC::MMCCommandResponse: Command Response Error MMCRead: MMCCommandResponse error on READ_SINGLE_BLOCK! read error SDHC: command response timeout CTO! MMC::MMCComman ...… 查看全部问答> |
|
本人在编译uC/OS-II的时候,出现了一个比较难缠的编译错误,望高手指点! 先看OS_CPU.H文件,该头文件包含与cpu有关的定义 typedef unsigned char INT8U; //无符号8位数 复制代码 OS_CFG.H文件 ...… 查看全部问答> |
|
使用CVAVR基于DS158b20检测发生的问题请高手解决, 请高手帮忙我仿真出来只显示15.这是为什么刚开始用CVAVR好多不懂。请谅解#include <mega16.h> #include <delay.h> #include <stdio.h>#define uchar unsigned char#define uint unsigned intuchar teml,temh,tem,tt,a,b;flas ...… 查看全部问答> |
|
msp430g2553 捕获功能,好像没有进入中断~求指导~ msp430g2553 捕获功能,好像没有进入中断~求指导~ #include unsigned int capture1_value = 0; void main() { WDTCTL = WDTPW + WDTHOLD; BCSCTL1 = CALBC1_16MHZ; //设定cpu DCOCTL = CAL ...… 查看全部问答> |
|
随着人民日常工作和生活对网络的不断深入应用,如果没有网络,将会带来很大的不便利,为了能更方面的应用,无线网络的应用显得更加的便利。 当一些新安装网络的用户,直接选用高功率模块作为无线路由器,可以为一些普通家庭用户,提 ...… 查看全部问答> |




