请选择 进入手机版 | 继续访问电脑版

雨滴科技技术论坛

 找回密码
 立即注册
查看: 241|回复: 12

STM8的时钟问题

  [复制链接]

8

主题

23

帖子

196

积分

注册会员

Rank: 2

积分
196
扫一扫,手机访问本帖
发表于 2018-10-10 18:08:39 | 显示全部楼层 |阅读模式
本帖最后由 雾里看花 于 2018-10-10 18:13 编辑

    最近在搞高频机尾插的项目,采用的是STM8芯片,使用定时器1计时,遇到了定时不准的问题。




    STM8芯片没有外接晶振,使用的是内部RC振荡器产生的16MHz时钟HSI。在没有外接晶振的情况下,STM8启动时,主时钟源默认为HSI RC时钟的8分频,即16/8=2MHz,CPU时钟默认为主时钟的1分频。所以CPU时钟是2MHz,定时器时钟由主时钟提供,所以是2MHz。
    当时配置TIM1的时候,我没有仔细看资料,误以为TIM1的时钟是16MHz,所以我进行了16分频,然后以串口打印数据到串口调试界面观察打印速度,发现速度很不准。然后再继续查看数据手册,才发现了上诉所说的问题,TIM1时钟为2M,经过8分频后,更小,所以速度不对应。
    TIM1的预分频器基于一个16位寄存器(TIM1_PSCR)控制的16位计数器。由于这个控制寄存器带有缓冲器,因此它能能够在运行时被改变。预分频器器可以将计数器的时钟频率按1到65536之间的任意值分频。
    计数器的频率可以由以下公式计算:
                                                         

时钟频率计算

时钟频率计算

[size=14.6667px]    由公式可知,只要TIM1_PSCR寄存器1,TIM1的时钟频率为2/(1+1)=1M。修改过后,计时正常。
    STM8有一个配置HSI时钟函数,后面我才发现的,在进行初始化时,使用该时钟函数,可改变主时钟的频率。
  1. CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
复制代码
   参数是预分频系数,如果进行1分频,主时钟频率为16MHz,TIM1时钟进行16分频,即TIM1_PSCR寄存器配置为15,计时正常。
    STM8的时钟树如下图所示。

STM8时钟树

STM8时钟树





回复

使用道具 举报

4

主题

32

帖子

149

积分

注册会员

Rank: 2

积分
149
发表于 2018-10-10 22:48:04 | 显示全部楼层
STM8系列是个好东西
回复 支持 反对

使用道具 举报

173

主题

769

帖子

3586

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3586
发表于 2018-10-12 12:28:43 | 显示全部楼层

STM8  还有一个更低频率的工作模式
回复 支持 反对

使用道具 举报

28

主题

112

帖子

756

积分

高级会员

Rank: 4

积分
756
发表于 2018-10-13 01:02:56 | 显示全部楼层
不错     
回复 支持 反对

使用道具 举报

8

主题

23

帖子

196

积分

注册会员

Rank: 2

积分
196
 楼主| 发表于 2018-10-13 10:20:35 | 显示全部楼层
woshichuanqi 发表于 2018-10-12 12:28
STM8  还有一个更低频率的工作模式

你是指RC产生的128KHz的频率吗
回复 支持 反对

使用道具 举报

173

主题

769

帖子

3586

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3586
发表于 2018-10-13 11:30:50 | 显示全部楼层
雾里看花 发表于 2018-10-13 10:20
你是指RC产生的128KHz的频率吗

功耗非常低
回复 支持 反对

使用道具 举报

40

主题

722

帖子

2359

积分

金牌会员

Rank: 6Rank: 6

积分
2359
发表于 2018-10-15 00:08:47 | 显示全部楼层
回复

使用道具 举报

80

主题

407

帖子

1880

积分

金牌会员

Rank: 6Rank: 6

积分
1880
发表于 2018-10-16 20:39:14 | 显示全部楼层
这个时钟出来是不是就是那个频率?
回复 支持 反对

使用道具 举报

8

主题

23

帖子

196

积分

注册会员

Rank: 2

积分
196
 楼主| 发表于 2018-10-17 20:43:34 | 显示全部楼层
独孤匠人 发表于 2018-10-16 20:39
这个时钟出来是不是就是那个频率?

具体看资料,资料和时钟树一般会指明对应功能的时钟频率
回复 支持 反对

使用道具 举报

80

主题

407

帖子

1880

积分

金牌会员

Rank: 6Rank: 6

积分
1880
发表于 2018-10-18 11:39:29 | 显示全部楼层
雾里看花 发表于 2018-10-17 20:43
具体看资料,资料和时钟树一般会指明对应功能的时钟频率

我是说,实际出来的频率和理论出来的频率有没有偏差
回复 支持 反对

使用道具 举报

282

主题

1145

帖子

4328

积分

论坛元老

Rank: 8Rank: 8

积分
4328
发表于 2018-10-18 12:57:55 | 显示全部楼层
我了解的:

RC不是RTC
那个慢时钟模式以前叫做RTC,慢时钟模式,几十K的频率。

RC也是Mhz级别的。
回复 支持 反对

使用道具 举报

6

主题

77

帖子

260

积分

中级会员

Rank: 3Rank: 3

积分
260
发表于 2018-10-20 20:03:12 | 显示全部楼层
                    
回复 支持 反对

使用道具 举报

14

主题

53

帖子

323

积分

中级会员

Rank: 3Rank: 3

积分
323
QQ
发表于 2018-11-14 20:04:54 | 显示全部楼层
学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
在线咨询
咨询热线
0755-26787502-8006/8016
扫一扫二维码
直接访问本站

QQ|Archiver|手机版|小黑屋|雨滴科技  

GMT+8, 2018-12-14 23:42 , Processed in 0.075640 second(s), 13 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表