当前位置:首页 > 单片机 > 单片机
[导读]主要介绍下自己用到的一些功能1、时基单元主要包括:● 计数器寄存器 (TIMx_CNT)● 预分频器寄存器 (TIMx_PSC)● 自动重载寄存器 (TIMx_ARR)● 重复计数器寄存器 (TIMx_RCR)预分频器说明:预分频器可对计数器时钟频率

主要介绍下自己用到的一些功能


1、时基单元

主要包括:

● 计数器寄存器 (TIMx_CNT)

● 预分频器寄存器 (TIMx_PSC)

● 自动重载寄存器 (TIMx_ARR)

● 重复计数器寄存器 (TIMx_RCR)


预分频器说明:预分频器可对计数器时钟频率进行分频,分频系数介于 1 和 65536 之间。该预分频器基于TIMx_PSC 寄存器中的 16 位寄存器所控制的 16 位计数

器。由于该控制寄存器具有缓冲功能,因此可对预分频器进行实时更改。而新的预分频比将在下一更新事件发生时被采用。


2、计数器模式:递增、递减、中央对齐模式(递增、递减)

1)递增计数模式(向上计数模式):计数器从 0 计数到自动重载值( TIMx_ARR 寄存器的内容),然后重新从 0 开始计数并生成计数器上溢事件。如果使用重复

计数器,则当递增计数的重复次数达到重复计数器寄存器中编程的次数加一次(TIMx_RCR+1) 后,将生成更新事件 (UEV)。否则,将在每次计数器上溢时产生更新

事件。

2)递减计数模式(向下计数模式):计数器从自动重载值( TIMx_ARR 寄存器的内容)开始递减计数到 0,然后重新从自动重载值开始计数并生成计数器下溢

事件。与上面的类似。


3)中央对齐模式:计数器从 0 开始计数到自动重载值( TIMx_ARR 寄存器的内容)-1,生成计数器上溢事件;然后从自动重载值开始向下计数到 1 并生成计数器下溢事件。之后从0 开始重新计数。有1、2、3,三种模式。


3、重复计数器


只有当重复计数器达到零时,才会生成更新事件。这在生成 PWM 信号时很有用。

这意味着,每当发生 N+1 个计数器上溢或下溢(其中, N 是 TIMx_RCR 重复计数器寄存器中的值),数据就将从预装载寄存器转移到影子寄存器( TIMx_ARR

自动重载寄存器、TIMx_PSC 预分频器寄存器以及比较模式下的 TIMx_CCRx 捕获/比较寄存器。

重复计数器在下列情况下递减:

● 递增计数模式下的每个计数器上溢。

● 递减计数模式下的每个计数器下溢。

● 中心对齐模式下每个计数器上溢和计数器下溢。尽管这使得最大重复次数不超过 128 个PWM 周期,但在每个 PWM 周期内可更新占空比两次。当在中心对齐

模式下,每个PWM 周期仅刷新一次比较寄存器时,由于模式的对称性,最大分辨率为 2xTck。


4、时钟选择

计数器时钟可由下列时钟源提供:

● 内部时钟 (CK_INT)

● 外部时钟模式 1:外部输入引脚

● 外部时钟模式 2:外部触发输入 ETR

● 外部触发输入 (ITRx):使用一个定时器作为另一定时器的预分频器,例如,可将定时器1 配置为定时器 2 的预分频器。


5、PWM 输入模式:对于PWM输入,主要是测频率与测占空比。


6、强置输出模式:通过设置CCMR寄存器,可以使OCxREF强制为高或低一种状态。且计数器和比较器仍在工作,并产生中断或DMA。


7、输出比较模式


此功能用于控制输出波形,或指示已经过某一时间段。

在输出比较模式下,更新事件 UEV 对 OCxREF 和 OCx 输出毫无影响。同步的精度可以达到计数器的一个计数周期。输出比较模式也可用于输出单脉冲(在单

脉冲模式下)。

步骤:

1. 选择计数器时钟(内部、外部、预分频器)。

2. 在 TIMx_ARR 和 TIMx_CCRx 寄存器中写入所需数据。

3. 如果要生成中断请求,则需将 CCxIE 位置 1。

4. 选择输出模式。例如:

— 当 CNT 与 CCRx 匹配时,写入 OCxM = 011 以翻转 OCx 输出引脚

— 写入 OCxPE = 0 以禁止预装载寄存器

— 写入 CCxP = 0 以选择高电平有效极性

— 写入 CCxE = 1 以使能输出

5. 通过将 TIMx_CR1 寄存器中的 CEN 位置 1 来使能计数器。


8、PWM 模式

脉冲宽度调制模式可以生成一个信号,该信号频率由 TIMx_ARR 寄存器值决定,其占空比则由 TIMx_CCRx 寄存器值决定。有两种模式。


9、互补输出与死区插入

● 输出信号 OCx 与参考信号相同,只是其上升沿相对参考上升沿存在延迟。

● 输出信号 OCxN 与参考信号相反,并且其上升沿相对参考下降沿存在延迟。



10、单脉冲模式


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为了方便大家对比STM32F407和F103的主要区别,这里特地列了一个对比表格,给大家参考。 整体看,STM32F407在各个方面都是超过STM32F103的

关键字: gd32f407 stm32f407

实验现象:LED灯0.5s闪烁/*****************************************************************************************函 数 名...

关键字: stm32f407 tim1 中断 定时器

用到的引脚是PA3也就是ADC1的通道31、ADC的主要参数a、分辨率----stm32f407的分辨率有6位、8位、10位、12位,参考电压如果是3.3 那么最小分辨率就是3.3/4095。b、转换时间----stm3...

关键字: adc stm32f407 单次转换

void GPIO_Configuration(void)//配置IO脚{GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pi...

关键字: STM32 tim1 高级定时器

RTC: Real time clock 相比较而言,STM32F407的RTC比STM32F1的更加容易配置。当然,F4的资源相对也就更加丰富很多了。具体的资源可查看官方参考手册,通过下面的图表也可以了解其大致功能 1...

关键字: rtc stm32f407 配置

解决方案1:STM32F103有的功能407都有,并且这些功能的引脚完全兼容,只是程序不同而已。。。而STM32F407有的功能103不一定有,因为407强大些。。。。。。希望对你有用解决方案2:不能。407支持摄像头,...

关键字: stm32f103 stm32f407 引脚兼容

1 、用资源中的STLink文件替换 C:\\Keil\\ARM\\STLink, 记得备份原来的文件,2、C:\\Keil\\TOOLS.INI改成如下的[UV2]ORGANIZATION="cs2c&quo...

关键字: keil stm32f407

最近在研究STM32F4的ADC采样功能,中间遇到了一些问题,写下来以备后用。F4和F1有很多库函数是不一样的,在参照F1的教程的时候,不能直接抄他的实验代码,否则会出错。因为要用DMA将ADC转换得到的值快速传递到SR...

关键字: adc采样 dma传输 单通道 stm32f407

上午想要用Timer10做相对精确的延时功能,但是用示波器发现实际延时数值总是只有一半,百思不得其解。仔细查阅各处资料结合实际研究后对stm32f407的14个定时器的时钟做一个总结:从时钟树中我们可以得知(时钟树的图

关键字: stm32f407 定时器 时钟频率

这张主要是增加了一路PA2,也可以根据实际增加自己想要的路数。与上面主要的区别:1、设置PA2为模拟输入2、修改通道数ADC_InitStructure.ADC_NbrOfConversion = 2;/*2通道 1*/...

关键字: adc dma stm32f407 多通道
关闭
关闭