完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` STM8定时器概述 STM8S提供三种类型的 tiM 定时器:高级控制型(TIM1)、通用型(TIM2/TIM3/TIM5)和基本型定时器(TIM4/TIM6)。它们虽有不同功能但都基于共同的架构。此共同的架构使得采用各个定时器来设计应用变得非常容易与方便(相同的寄存器映射,相同的基本功能)。 16位高级控制定时器(TIM1) ● 16位向上、向下、向上/下自动装载计数器 ● 允许在指定数目的计数器周期之后更新定时器寄存器的重复计数器 ● 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值 ● 同步电路,用于使用外部信号控制定时器以及定时器互联 (某些型号的芯片没有定时器互联功能) ● 多达4个独立通道可以配置成: ─ 输入捕获 ─ 输出比较 ─ PWM 生成(边缘或中间对齐模式) ─ 六步 PWM 输出 ─ 单脉冲模式输出 ─ 三个支持带互补输出,并且死区时间可编程的通道 ● 刹车输入信号可以将定时器输出信号置于复位状态或者一个已知状态 ● 产生中断的事件包括: ─ 更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发) ─ 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数) ─ 输入捕获 ─ 输出比较 ─ 刹车信号输入 TIM1预分频器 TIM1的预分频器基于一个由16位寄存器(TIM1_PSCR)控制的16位计数器。由于这个控制寄存器带有缓冲器,因此它能够在运行时被改变。预分频器可以将计数器的时钟频率按1到 65536之间的任意值分频。 计数器的频率可以由下式计算: f CK_CNT = f CK_PSC / (PSCR[15:0] + 1) 向上计数模式 在向上计数模式中,计数器从0计数到用户定义的比较值(TIMx_ARR寄存器的值),然后重新从0 开始计数并产生一个计数器溢出事件,同时,如果TIM1_CR1寄存器的UDIS位是0,将会产生一 个更新事件(UEV)。 向下计数模式 在向下模式中,计数器从自动装载的值(TIMx_ARR寄存器的值)开始向下计数到0,然后再从自 动装载的值重新开始计数,并产生一个计数器向下溢出事件。如果TIM1_CR1寄存器的UDIS位 被清除,还会产生一个更新事件(UEV)。 中央对齐模式( 向上/ 向下计数) 在中央对齐模式,计数器从0开始计数到自动加载的值(TIMx_ARR寄存器)-1,产生一个计数器 溢出事件,然后向下计数到0并且产生一个计数器下溢事件;然后再从0开始重新计数。 定时器TIM1例子 说明:16分频,向上计数,1000次=1毫秒 触发一次中断 TIM1_TimeBaseInit(15,TIM1_COUNTERMODE_UP,1000,0); TIM1_ARRPreloadConfig(ENABLE);//使能自动重装 TIM1_ITConfig(TIM1_IT_UPDATE , ENABLE);//数据更新中断 TIM1_Cmd(ENABLE);//开定时器 INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11) { TIM1_ClearITPendingBit(TIM1_IT_UPDATE); } 【众拳】剑齿虎STM8开发板的程序下载:
STM8定时器程序.zip
(999.64 KB, 下载次数: 10
)
` |
|
相关推荐
|
|
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
702 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1099 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1573 浏览 1 评论
532 浏览 0 评论
1065 浏览 0 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 09:22 , Processed in 1.016641 second(s), Total 69, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号