历史上的今天
今天是:2024年08月31日(星期六)
2018年08月31日 | STM32定时器(TIM)之通用定时器
2018-08-31 来源:eefocus
STM32的通用定时器有四个,分别是TIM2, TIM3,TIM4,TIM5,有以下功能:
通用定时器的框图如下:
从图中可以看出,通用定时器TIMx的触发源(计数器时钟的时钟源)有四个:
1、内部时钟(CLK_INT)
2、外部时钟模式1:外部输入引脚(TIx),分别经TIMx_CHx通道传入
3、外部时钟模式2:外部触发输入(ETR)
4、内部触发输入(ITRx):定时器主从模式下由ITRx定义从定时器和主定时器、
下面选取触发源为内部时钟时进行分析:
从上图我们可以看到,基本定时器主要由下面三个寄存器组成。
1、计数器寄存器 (TIMx_CNT)
2、预分频器寄存器 (TIMx_PSC)
3、自动重载寄存器 (TIMx_ARR)
计数器寄存器 (TIMx_CNT)存储的是当前的计数值。预分频器 (TIMx_PSC)为多少个CK_PSC脉冲计数一次,如图192 预分频器的值为1(预分频寄存器默认为0,为不分频),则为两个脉冲计数一次。即为二分频。如果要10000分频,则预分频器的值为1000-1。具体来说若CK_PSC的频率为10MHZ,预分频器值为(10-1),则是每隔1ms计数器计数一次。
自动重载寄存器的数值代表计数的次数,例如当值为59时,计数器若是向上计数模式,则从0计到59时,如图会产生事件U或中断UI,计数器也会被清零而重新计数。
那么内部时钟频率如何确定呢?
通过查找芯片的数据手册可以发现
通用定时器的内部时钟挂在了APB1时钟线上,若内部时钟不分频(CKD=0)的话,则CK_PSC的时钟频率等于APB1的时钟频率。
定时器有如下三种计数模式
递增计数模式:计数器从 0 计数到自动重载值,然后重新从 0 开始计数并生成计数器上溢事件。
递减计数模式:计数器从自动重载值开始递减到 0,然后重新从自动重载值开始计数并生成计数器下溢事件。
中心对齐模式:计数器从 0 开始计数到自动重载值 – 1 ,生成计数器上溢事件;然后从自动重载值开始向下计数到 1 并生成计数器下溢事件。之后从0 开始重新计数。
史海拾趣
|
Intevac是商用和军用市场光学产品的前沿开发商。本文介绍该公司NightVista嵌入式电子系统的开发,该产品是高性能超低亮度紧凑型摄像机。该摄像机最初采用了流行的数字信号处理器、几个ASSP和外部存储器件。系统对性能的需求越来越高,工程师团队决 ...… 查看全部问答> |
|
P89C51RB2/RC2/RD2具有16K32K64K并行可编程的非易失性FLASH程序存贮器,并可实现对器件串行在 系统编程和在应用中编程,在系统的编程:当MUC安装在 用户板上时,应许用华下载新的 代码,在应用中编程:MUC可以在系统中获取新代码并对自己重新编程。 ...… 查看全部问答> |
|
突然脑子里想到家里暖水瓶,上午烧得水下午就不热了,由此,希望设计师在设计电热产品时,为节能作出点贡献,比如,电饭煲的外壳使用四层结构来延长保温时间,或者增加闷饭档来节电,设计其他电器产品用小的支出来换取功能的增加也是不错的,比如饮 ...… 查看全部问答> |
|
start:mov dptr, #table mov a, #6 movc a,@a+dptr mov p0,a jmp $ table:db 0c0h, 0f9h,0a4h,0b0h d ...… 查看全部问答> |
|
怎么编写并口驱动,如果建立在parport.sys之上,是用过滤驱动还是自定义类驱动,或者ports类驱动 怎么编写并口驱动,如果建立在parport.sys之上,是用过滤驱动还是自定义类驱动,或者ports类驱动。 如果自己写并口驱动,系统自带的怎么完全卸载而不影响COM口? 如果是建立在parport.sys之上的自定义类驱动,inf文件中还需要LogConfig项吗? ...… 查看全部问答> |
|
哪个大虾帮忙解决一下? java.lang.IllegalArgumentException的问题 我编译时一直出现下面得错误: #java.lang.IllegalArgumentException # at com.mathworks.util.NativeJava.hWndFromComponent(NativeJava.java:183) # at sun.awt.windows.WToolkit.even ...… 查看全部问答> |
|
以前没做过嵌入式开发,现两家公司招聘被录用,一家做手机,一家做电视? 哪家更好些? ?以前没做过嵌入式开发,现两家公司招聘被录用,一家做手机,一家做电视? 哪家更好些? 因为两家公司实力相当,我没有办法比较。 以前做研发只用vc开发过项目,对嵌入式并不了解。 所以,想问问各位: 做软件, 开发手机和开发电视 ,哪 ...… 查看全部问答> |




