STM8S学习笔记之三(STM8 SysClk)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STM8S 学习笔记之三(STM8 SysClk)
STM8S 系统时钟设置,对于单片机来说是非常重要的,不同的用处必须
应用不同的时钟。
举个例子,做AVR 时在高稳定的串口通讯时用的时钟一般
是3.6864M,主要是这个算波特率精确。
STM8S 同样重要。
STM8S 时钟源:●1-24MHz高速外部晶体振荡器(HSE) ●最大24MHz 高速外部时钟信号(HSE user-ext) ●16MHz高速内部RC 振荡器(HSI) ●128KHz低速内部RC(LSI) 各个时钟源可单独打开或关闭,从而优化功耗。
对于我这么懒得人一般都是用的内部或者外部晶振。
这个芯片时钟方面很
大的一个亮点就是时钟可以自由分频。
在降低功耗方面,如果有特殊需求的时
候还是考虑STM8L 系列或者430 的吧,不得不承认术业有专攻。
按照技术手册寄存器功能给寄存器赋值写成一下函数:
//启动时钟配置void SysClkInit(void) { // CLK_SWR=0xe1; //HSI 为主时钟源CLK_SWR=0xb4; //HSE 为主时钟源CLK_CKDIVR=0x00;//CPU 时钟0 分频,系统时钟0 分频CLK_CSSR=0x01;//时钟安全监测使能CLK_SWCR=0x02;//使能自动时钟切换}
首先设置时钟源,也就是时钟是用内部还是外部,如果对时间精度要求不
高,用内部也可以。
然后是时钟分频。
这个分频需要设定系统时钟和CPU
时钟,这两个时钟,如果对此有特殊要求就得好好斟酌一下了,而我全部不分频。
时钟安全监测还是打开吧,如果用的外部时钟,但是外部时钟突然出现故
障的话,单片机会自动启用内部时钟,内部时钟默认为8 分频也就是2M。
然
后时钟自动切换,好像这个有没有都可以,去掉能不能使回头再试。
开机初始化,在不调用此函数时CPU 时钟默认开启2M,但是调用此函数
后,时钟切换为16M,LED 闪烁速度明显加快、、。