STM32——定时器:高级定时器

定时器归纳总页:



STM32——定时器-CSDN博客

四、高级定时器

4.1 高级定时器简介

4.2 高级定时器框图(熟悉)

4.3 高级定时器输出指定个数PWM实验

4.3.1 重复计数器特性

再同步:产生于一次更新事件后,RCR寄存器的值会再缓冲到它的影子寄存器中,相当于重置了影子寄存器。所以发生软件更新事件后,还要溢出四次,才能产生更新时间。

设置RCR为N,更新事件将在N+1次溢出时产生。

4.3.2 高级定时器输出指定个数PWM实验原理

输出原理参考 “通用定时器PWM输出实验”

步骤:

1.配置边沿对齐模式输出PWM(递增)

2.指定输出N个PWM,则把N-1写入RCR中

(RCR中 N 发生溢出需要 N+1, 需要N次就发生溢出,则存入N-1)

3.在更新中断内,关闭计数器

*.高级定时器通道输出必须把MOE位 置1

4.3.3 高级定时器输出指定个数PWM实验配置步骤

步骤HAL库函数备注
1.配置定时器基础工作参数HAL_TIM_PWM_Init()
2.定时器PWM输出MSP初始化HAL_TIM_PWM_MspInit()配置NVIC、CLOCK、GPIO等
3.配置PWM模式/比较值等HAL_TIM_PWM_ConfigChannel()
4.设置优先级,使能中断

HAL_NVIC_SetPeriority()

HAL_NVIC_EnableIRQ()

5.使能定时器更新中断__HAL_TIM_ENABLE_IT()
6.使能输出、主输出、计数器HAL_TIM_PWM_Start()主输出 只有高级定时器才有
7.编写中断服务函数TIMx_IRQHandler()等

会调用中断公共处理函数

HAL_TIM_IRQHandler()

8.编写更新中断回调函数HAL_TIM_PeriodElapsedCallback()

4.3.4 例程

【免费】Proj-11-TIM-高级定时器输出指定个数PWM实验资源-CSDN下载https://download.csdn.net/download/PinnsiR/92561274

硬件链接:

pin脚选择:

芯片手册 中的pin脚复用 PC6:

原理图LED1的位置:由PE5控制

选择用跳线链接PC6到PE5:

重复计数器在更新事件的时候会启动刷新,所以代码就是:改变句柄里的RCR值,利用软件事件缓冲RCR值到影子寄存器

4.4 高级定时器输出比较模式实验

【免费】Proj-12-TIM-高级定时器输出比较模式实验资源-CSDN下载https://download.csdn.net/download/PinnsiR/92564378

4.4.1 高级定时器输出比较模式实验原理

一个方波的计数个数:2*(ARR+1),【+1是因为从0开始计数】

一个周期的时间:计数个数* (PSC+1)/ Ft ,计数频率(1s钟计的次数):Ft/(PSC+1)

也就是 PWM波周期或频率由ARR决定,相位由CRR决定

占空比:翻转模式下,固定50%

4.4.2 高级定时器输出模式实验配置步骤

4.4.3 例程

手册:

#include "./SYSTEM/sys/sys.h" #include "./SYSTEM/usart/usart.h" #include "./SYSTEM/delay/delay.h" #include "./BSP/LED/led.h" #include "./BSP/TIMER/atim.h" extern TIM_HandleTypeDef g_timx_comp_pwm_handle; /* 定时器x句柄 */ int main(void) { uint8_t t = 0; HAL_Init(); /* 初始化HAL库 */ sys_stm32_clock_init(RCC_PLL_MUL9); /* 设置时钟, 72Mhz */ delay_init(72); /* 延时初始化 */ usart_init(115200); /* 串口初始化为115200 */ led_init(); /* 初始化LED */ atim_timx_comp_pwm_init(1000 - 1, 72 - 1); __HAL_TIM_SET_COMPARE(&g_timx_comp_pwm_handle, TIM_CHANNEL_1, 250 - 1); __HAL_TIM_SET_COMPARE(&g_timx_comp_pwm_handle, TIM_CHANNEL_2, 500 - 1); __HAL_TIM_SET_COMPARE(&g_timx_comp_pwm_handle, TIM_CHANNEL_3, 750 - 1); __HAL_TIM_SET_COMPARE(&g_timx_comp_pwm_handle, TIM_CHANNEL_4, 1000 - 1); while (1) { delay_ms(10); t++; if (t >= 20) { LED0_TOGGLE(); /* LED0(RED)闪烁 */ t = 0; } } }
#include "./BSP/TIMER/atim.h" TIM_HandleTypeDef g_timx_comp_pwm_handle; /* 定时器x句柄 */ /* 高级定时器 输出比较模式 初始化函数 */ void atim_timx_comp_pwm_init(uint16_t arr, uint16_t psc) { TIM_OC_InitTypeDef timx_oc_comp_pwm = {0}; g_timx_comp_pwm_handle.Instance = TIM8; /* 定时器8 */ g_timx_comp_pwm_handle.Init.Prescaler = psc ; /* 定时器分频 */ g_timx_comp_pwm_handle.Init.CounterMode = TIM_COUNTERMODE_UP; /* 递增计数模式 */ g_timx_comp_pwm_handle.Init.Period = arr; /* 自动重装载值 */ HAL_TIM_OC_Init(&g_timx_comp_pwm_handle); /* 输出比较模式初始化 */ timx_oc_comp_pwm.OCMode = TIM_OCMODE_TOGGLE; timx_oc_comp_pwm.OCPolarity = TIM_OCPOLARITY_HIGH; HAL_TIM_OC_ConfigChannel(&g_timx_comp_pwm_handle, &timx_oc_comp_pwm, TIM_CHANNEL_1); HAL_TIM_OC_ConfigChannel(&g_timx_comp_pwm_handle, &timx_oc_comp_pwm, TIM_CHANNEL_2); HAL_TIM_OC_ConfigChannel(&g_timx_comp_pwm_handle, &timx_oc_comp_pwm, TIM_CHANNEL_3); HAL_TIM_OC_ConfigChannel(&g_timx_comp_pwm_handle, &timx_oc_comp_pwm, TIM_CHANNEL_4); __HAL_TIM_ENABLE_OCxPRELOAD(&g_timx_comp_pwm_handle, TIM_CHANNEL_1); __HAL_TIM_ENABLE_OCxPRELOAD(&g_timx_comp_pwm_handle, TIM_CHANNEL_2); __HAL_TIM_ENABLE_OCxPRELOAD(&g_timx_comp_pwm_handle, TIM_CHANNEL_3); __HAL_TIM_ENABLE_OCxPRELOAD(&g_timx_comp_pwm_handle, TIM_CHANNEL_4); HAL_TIM_OC_Start(&g_timx_comp_pwm_handle, TIM_CHANNEL_1); HAL_TIM_OC_Start(&g_timx_comp_pwm_handle, TIM_CHANNEL_2); HAL_TIM_OC_Start(&g_timx_comp_pwm_handle, TIM_CHANNEL_3); HAL_TIM_OC_Start(&g_timx_comp_pwm_handle, TIM_CHANNEL_4); } /* 定时器 输出比较 MSP初始化函数 */ void HAL_TIM_OC_MspInit(TIM_HandleTypeDef *htim) { if (htim->Instance == TIM8) { GPIO_InitTypeDef gpio_init_struct; __HAL_RCC_TIM8_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); gpio_init_struct.Pin = GPIO_PIN_6; gpio_init_struct.Mode = GPIO_MODE_AF_PP; gpio_init_struct.Pull = GPIO_NOPULL; gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOC, &gpio_init_struct); gpio_init_struct.Pin = GPIO_PIN_7; HAL_GPIO_Init(GPIOC, &gpio_init_struct); gpio_init_struct.Pin = GPIO_PIN_8; HAL_GPIO_Init(GPIOC, &gpio_init_struct); gpio_init_struct.Pin = GPIO_PIN_9; HAL_GPIO_Init(GPIOC, &gpio_init_struct); } }

4.5 高级定时器互补输出带死区控制实验

4.5.1 互补输出&&死区控制

互补输出通道只有 通道 1至3(OCx & OCxN)

4.5.2 带死区控制的互补输出应用之H桥

H桥:用于控制电机正反转(多用mos管)

正常的电路会加上更多的元器件,由于元器件是有延迟特性,所以需要加上死区时间控制。

加入死区时间会使这段时间内,输出与互补输出 相同电平,即无效电平,在控制H桥时,OC1与OC1N同时输出低电平,两个mos管是截止状态,通过死区时间后,才会开启mos管。

4.5.3 捕获/比较通道的输出部分(通道1至3)

4.5.4 死区时间计算

4.5.5 刹车(断路)功能

MOE被清0,被称为空闲模式,置1,被称为运行模式

4.5.6 高级定时器互补输出带死区控制实验配置步骤

用于HAL_TIM_PWM_ConfigChannel()

用于 HAL_TIMx_PWM_ConfigBreakDeadTime()

4.5.7 例程

【免费】AdvancedTimerComplementaryOutputwithDead-TimeControlProject资源-CSDN下载https://download.csdn.net/download/PinnsiR/92565740

72MHz使用4分频,可根据死区时间计算公式计算死区时间

重映射PE8 PE9到 TIM1的输出通道和互补输出通道1上

重映射PE15 到TIM1 的刹车通道上

寄存器复用设置

死区时间示波器结果

设置DTG = 100

设置TDG = 250

刹车功能验证:

刹车后输出和互补输出通道都为低,(OCIdleState和OCNIdleState设置空闲情况下的输出情况,不可同时为高导通电路。由硬件强制控制不可同时为高。)

4.6 高级定时器PWM输入模式实验

4.6.1 PWM输入模式工作原理

测量PWM参数 周期、频率、占空比。

4.6.2 PWM输入模式时序

4.6.3 高级定时器PWM输入模式实验配置步骤

TIM1/TIM8有独立的输入捕获中断服务函数:

4.6.4 例程

【免费】Proj-14-TIM-AdvancedTimerPWMInputModeExperiment资源-CSDN下载https://download.csdn.net/download/PinnsiR/92565902

不溢出不需要Tout + 1

TIM3的通道2占空比设置 的比较寄存器:

结果:

PWM 输出设置频率超过910:

想要采样更大的PWM周期,需要提高精度,提高PSC

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1174236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java毕设全套源码+文档】基于springboot的健康医疗体检管理系统设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

吉林市船营昌邑龙潭丰满英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

在全球化留学热潮下,雅思考试已成为吉林市船营、昌邑、龙潭、丰满四区学子通往海外名校的重要通行证,但雅思培训市场鱼龙混杂,让众多考生深陷备考困境。多数考生面临着词汇积累与解题能力脱节、口语开口难、写作逻辑…

2026.1.17抽象代数考试

是否存在 \(\mathbb{Q}/\Z\) 的有有限指数 (Index) 的真子群 \(H\)?解 不存在. 设 \(H\le\mathbb{Q}/\Z\) 有有限指数 \(n\), 则 \(n((\mathbb{Q}/Z)/H)=0\), 即 \(forall x\in\mathbb{Q}/Z:n(x+H)=0\), 从而 \(nx\in…

学长亲荐2026专科生必用TOP10AI论文工具测评

学长亲荐2026专科生必用TOP10AI论文工具测评 2026年专科生论文写作工具测评:为何需要一份精准指南? 随着AI技术的不断进步,越来越多的专科生开始借助AI工具提升论文写作效率。然而,面对市场上琳琅满目的论文辅助软件,如…

STM32——MPU(内存保护)

总:STM32——学习总纲 参考资源: 【免费】STmcu选型手册资源资源-CSDN下载 【免费】芯片资料STM32F103ZET6(中文版)资源-CSDN下载 【免费】STM32F1系列参考手册-V10(中)

2026年重庆零基础英语培训机构权威推荐榜单:剑桥英语培训 /线下英语培训 /英语口语培训 /英语补习 /英语学习/ 线上英语培训服务商精选 - 品牌推荐官

在重庆,零基础英语学习者的需求正在快速增长。根据行业相关数据显示,我国零基础英语培训需求年增长率显著。面对从字母、音标开始的初学者,专业的培训机构提供的不仅是知识,更是一套科学的启蒙方法、持续的学习动力…

长春市榆树德惠农安英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

基于全网调研数据、长春本地雅思考生真实反馈及权威教育测评体系,本次针对长春市及榆树市、德惠市、农安县区域内的雅思培训辅导机构开展深度测评。在雅思备考赛道中,考生普遍面临优质教育机构筛选迷茫、提分技巧缺失…

2026年广州寻宠找狗服务公司推荐榜:极速寻宠,寻宠全天找狗/寻宠本地找狗/寻宠24小时找狗/寻宠专业找狗工作室/寻宠专业找狗团队/寻宠找狗团队/寻宠30分上门找狗公司精选 - 品牌推荐官

当监控画面中熟悉的身影最后一次消失在小区转角,你开始明白,仅凭焦急的呼唤和盲目寻找,难以赢得这场与时间的赛跑。 在宠物深度融入家庭生活的当下,每一次爱宠走失都是家庭的一场突发危机。据统计,我国城市宠物走…

亲测好用10个AI论文软件,专科生毕业论文轻松搞定!

亲测好用10个AI论文软件,专科生毕业论文轻松搞定! AI 工具让论文写作不再难 在如今的学术环境中,越来越多的专科生开始借助 AI 工具来提升论文写作效率。这些工具不仅能帮助学生快速生成内容,还能有效降低 AIGC(人工智…

吉林市永吉舒兰磐石蛟河桦甸英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

在全球化留学热潮持续升温的2026年,雅思成绩已成为吉林市、永吉县、舒兰市、磐石市、蛟河市、桦甸市学子开启海外名校大门的核心凭证,更是职场国际化发展的重要加分项。然而,该区域雅思考生普遍面临诸多备考困境:优…

2048 C++ 游戏 - Sail-With

2048 C++ 游戏程序介绍及相关代码💖游戏简介 这是一款基于C++开发的2048游戏,集成了成就系统、插件扩展、游戏记录、倍速调节等功能,支持Windows控制台运行。代码结构清晰,包含完整的游戏逻辑、界面渲染和扩展接口…

大润发购物卡回收实操步骤详解 - 京顺回收

如今消费方式日益多元,不少家庭手中的大润发购物卡因居住地变更、购物习惯改变等原因,成了“沉睡资源”。据行业统计,超60%的用户都遇到过购物卡未充分利用的情况。下面就为大家系统解析大润发购物卡的回收流程,助…

长春市朝阳南关宽城二道英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

在雅思培训领域,长春朝阳、南关、宽城、二道等区域的考生普遍面临诸多痛点:想找到优质的教育机构却陷入选课迷茫,渴望通过权威测评获取靠谱推荐,却难辨各类排行榜与口碑排名的真伪;备考中既需要实用的提分技巧与个…

2026年沈阳评价好的隐形车衣门店怎么选择,汽车车衣/贴太阳膜/汽车贴膜/车衣改色/贴车衣,隐形车衣实体店价格 - 品牌推荐师

随着汽车消费升级与车主养护意识的增强,隐形车衣市场在沈阳乃至全国持续升温。作为一种高性能的物理漆面保护方案,隐形车衣凭借其出色的抗剐蹭、耐腐蚀、防氧化及划痕自修复能力,已成为众多车主,尤其是中高端车型用…

【Java 开发日记】有了解过 SpringBoot 的参数配置吗?有了解过 SpringBoot 的参数配置吗?

一、什么是单调栈?先打破 “栈” 的常规认知提到栈,大家首先想到的是 “先进后出” 的线性结构,而单调栈,顾名思义,就是在普通栈的基础上,给元素加上了 “单调性” 的约束 —— 栈内的元素必须严格保持递增…

长春市绿园双阳九台公主岭英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

在雅思培训的备考赛道上,长春市绿园、双阳、九台、公主岭等区域的考生常常面临诸多困境:优质教育机构筛选难度大,缺乏权威的口碑排名参考;不同基础的考生难以找到适配的个性化提分方案,新手迷茫于入门路径,高分冲…

十年沉淀,驱动效果增长:一文读懂昊客网络在百度竞价推广代运营领域的王牌服务与客户价值 - 深圳昊客网络

深圳市昊客网络科技有限公司(简称:昊客网络)。公司成立于2016年,公司现有团队成员三十余人。团队项目经理、运营、文案策划、商务团队经理均在行业内工作15年以上。要让百度竞价推广账户效果好、投产比(ROI)高,…

2025年四川ai学习渠道权威榜单:新媒体学习 /视频号学习/代运营学习 /短视频学习机构精选 - 品牌推荐官

在四川,一家传统制造业企业通过引入数字化营销培训,其新媒体矩阵在三个月内实现了总粉丝量增长超过30%,线上咨询量显著提升。 随着人工智能技术的飞速发展,企业对利用AI技术降本增效的需求日益迫切。在四川,无论是…

2025年四川ai学习渠道权威榜单:新媒体学习 /视频号学习/代运营学习 /短视频学习机构精选 - 品牌推荐官

在四川,一家传统制造业企业通过引入数字化营销培训,其新媒体矩阵在三个月内实现了总粉丝量增长超过30%,线上咨询量显著提升。 随着人工智能技术的飞速发展,企业对利用AI技术降本增效的需求日益迫切。在四川,无论是…

2025年四川ai学习渠道权威榜单:新媒体学习 /视频号学习/代运营学习 /短视频学习机构精选 - 品牌推荐官

在四川,一家传统制造业企业通过引入数字化营销培训,其新媒体矩阵在三个月内实现了总粉丝量增长超过30%,线上咨询量显著提升。 随着人工智能技术的飞速发展,企业对利用AI技术降本增效的需求日益迫切。在四川,无论是…