求教一个新手问题,关于定时器

2019-03-23 17:05发布

刚接触MCU,在用stm32f103zet6做开发,求教一个新手问题,如果我使用一个通用定时器做次线程,最长单次执行时间只有20微秒,其余全是main函数里的主线程在跑,如果我给这个定时器预分频12mhz,那是不是意味这个定时器执行的时候是在12mhz频率下执行,而轮到主线程执行的时候依然是在72mhz下执行?还是在60mhz频率执行?
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
maychang
1楼-- · 2019-03-23 20:56
/ 定时器预分频仅对计数器操作(加或者是减计数)起作用,对程序执行不起作用。
gxg1122
2楼-- · 2019-03-24 02:12
 精彩回答 2  元偷偷看……
c2z3a5r7
3楼-- · 2019-03-24 03:01
gxg1122 发表于 2017-12-9 17:14
你分频到12MHz,你这个定时器的执行周期就是计数值/12m。程序执行速度还是72MHZ

谢谢,那如果我要使用一个通用寄存器给设置周期,那周期是等于CNT寄存器里的值/12m,还是ARR寄存器的值/12m
ienglgge
4楼-- · 2019-03-24 08:04
c2z3a5r7 发表于 2017-12-10 11:25
谢谢,那如果我要使用一个通用寄存器给设置周期,那周期是等于CNT寄存器里的值/12m,还是ARR寄存器的值/1 ...

把手册中定时器章节认真读一遍,这些问题就明白了。定时器,有自己工作额时钟频率。由时钟源 分频,倍频等方式得到。定时器以此频率工作。每次counter的值得加减就是在这个频率下进行。达到某个值,产生中断,counter值,重新开始加减。会有寄存器设置重载值。认真看一遍寄存器吧。
Li_Lei
5楼-- · 2019-03-24 11:48
 精彩回答 2  元偷偷看……
gxg1122
6楼-- · 2019-03-24 12:54
c2z3a5r7 发表于 2017-12-10 11:25
谢谢,那如果我要使用一个通用寄存器给设置周期,那周期是等于CNT寄存器里的值/12m,还是ARR寄存器的值/1 ...

CNT计数值。还看你配置计数模式了。多看看手册就知道了。

一周热门 更多>