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

雨滴科技技术论坛

 找回密码
 立即注册
查看: 97|回复: 10

STM8的时钟问题

  [复制链接]

6

主题

14

帖子

140

积分

注册会员

Rank: 2

积分
140
扫一扫,手机访问本帖
发表于 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时钟树





回复

使用道具 举报

0

主题

7

帖子

25

积分

新手上路

Rank: 1

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

使用道具 举报

168

主题

744

帖子

3452

积分

版主

Rank: 7Rank: 7Rank: 7

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

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

使用道具 举报

20

主题

62

帖子

506

积分

高级会员

Rank: 4

积分
506
发表于 7 天前 | 显示全部楼层
不错     
回复 支持 反对

使用道具 举报

6

主题

14

帖子

140

积分

注册会员

Rank: 2

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

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

使用道具 举报

168

主题

744

帖子

3452

积分

版主

Rank: 7Rank: 7Rank: 7

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

功耗非常低
回复 支持 反对

使用道具 举报

34

主题

677

帖子

2201

积分

金牌会员

Rank: 6Rank: 6

积分
2201
发表于 5 天前 | 显示全部楼层
回复

使用道具 举报

76

主题

379

帖子

1776

积分

金牌会员

Rank: 6Rank: 6

积分
1776
发表于 4 天前 | 显示全部楼层
这个时钟出来是不是就是那个频率?
回复 支持 反对

使用道具 举报

6

主题

14

帖子

140

积分

注册会员

Rank: 2

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

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

使用道具 举报

76

主题

379

帖子

1776

积分

金牌会员

Rank: 6Rank: 6

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

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

使用道具 举报

264

主题

1064

帖子

4057

积分

论坛元老

Rank: 8Rank: 8

积分
4057
发表于 前天 12:57 | 显示全部楼层
我了解的:

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

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2018-10-20 02:31 , Processed in 0.071716 second(s), 13 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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