STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)
文章目录
- 一、前言
- 二、CubeMX
- 2.1、Clock Configuration
- 2.2、TIM8 Mode and Configuration
- 2.3、Parameter Settings
- Counter Settings
- PWM Generation Channel1 与 PWM Generation Channel2
- 其他
- 2.4、生成代码
- 三、代码
- 3.1、tim.c
- 3.2、烧写代码
- 四、示波器
相关笔记:
STM32H743+CubeMX-定时器TIM输出PWM(Output Compare模式)
STM32H743+CubeMX-低功耗定时器LPTIM输出PWM波
一、前言
PWM波形在实际工作上有非常广泛的使用,尤其在步进电机控制与LED阵列的控制。使用定时器的PWM产生模式让TIM8的通道1与通道2产生PWM波形,如下图所示,PWM波形的频率10kHz。
通道1与通道2的PWM关系是非对称关系,相当于互斥。
当通道1为高电平时,通道2为低电平。
当通道1为低电平时,通道2为高电平。
二、CubeMX
2.1、Clock Configuration
根据《STM32H7x3编程参考手册》第102页,TIM8的时钟源是APB2。当前工程上APB2的时钟频率是240M(后续用于计算PWM的周期)。
2.2、TIM8 Mode and Configuration
使用TIM8,使能通道1与通道2为PWM模式。
2.3、Parameter Settings
Counter Settings
TIM8的溢出频率=240M / ( Counter Period + 1 ) / ( Prescaler + 1 ),如下图所示,TIM8的溢出频率 = 240M / 24000 / 1 = 10kHz。 周期T = 1 / f = 1 / 10k = 100us。
所以TIM8的溢出频率是10kHz,周期T是100us。
PWM Generation Channel1 与 PWM Generation Channel2
Counter Period是24000 - 1 , Pulse 是 12000 -1 ,所以占空比为50%。根据实际使用调整Pulse的值,就能改变占空比。
其他
不用管。
2.4、生成代码
三、代码
3.1、tim.c
在函数void MX_TIM8_Init(void)里添加用户代码,调用HAL_TIM_PWM_Start()开启PWM输出。
3.2、烧写代码
编译,烧写代码,接着使用示波器检测PC6与PC7即可。
四、示波器
从下图看到,PWM波形的频率是10kHz,符合2.3章节所计算的频率。跟Output Compare模式所产生的PWM波频率不一样(参考另一篇笔记《基于STM32H743+CubeMX-定时器TIM输出PWM(Output Compare模式)》
STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)相关推荐
- STM32单片机:定时器TIM输出PWM波
学习32单片机过程中使用的工具:MDK Keil5 + 正点原子精英版(STM32F103ZET6)+ STM32CubeMX + HAL开发 一.PWM的产生原理 关于PWM的产生原理网上有很多教程 ...
- stm32常见定时器---TIM定时及PWM输出
STM32 常见定时器资源: 系统滴答定时器SysTick----提供时钟节拍做时间基准 看门狗定时器WatchDog----防止程序跑飞 实时时钟RTC 基本定时器:TIM7.TIM6 通用定时器: ...
- TIM输出比较——PWM
目录 前言 一.什么是输出比较 二.什么是PWM 1. PWM的相关参数: 2.PWM的应用场景: 3.占空比 三.输出比较的几种模式: 四,输出比较的极性 五,在输出比较中,TIM常用函数 六,同一 ...
- STM32H743+CubeMX-定时器TIM输出PWM(Out Compare模式) + 中断
文章目录 一.前言 二.CubeMX 2.1.NVIC Settings 2.2.生成代码 三.代码 3.1.tim.c 四.DEBUG 五.细节补充 一.前言 STM32H743+CubeMX-定时 ...
- STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)+ 中断
文章目录 一.前言 二.CubeMX 2.1.Mode and Parameter Settings 2.2.NVIC Settings 2.3.生成代码 三.代码 3.1.tim.c 3.2.mai ...
- [控制基础] 定时器TIM的PWM输出+用积分思想分析PWM对直流减速有刷电机的控制(基于STM32F103+CubeMX+HAL)
目录 解决的需求 一.高级定时器TIM1/TIM8 1.时基单元 2.更新操作与更新事件 3.与其他定时器的比较 ①.与其他定时器时基单元的比较 ②.与通用定时器的比较 4.CK_INT与CK_CNT ...
- STM32H743+CubeMX-低功耗定时器LPTIM输出PWM波
文章目录 一.前言 二.CubeMX 2.1.Clock Configuration 2.2.LPTIM2 Mode and Configuration 2.3.Parameter Settings ...
- STM32H743+CubeMX-定时器TIM输出PWM(Output Compare模式)
文章目录 一.前言 二.CubeMX 2.1.Clock Configuration 2.2.TIM8 Mode and Configuration 2.3.Parameter Settings Co ...
- STM32H743+CubeMX-定时器TIM发送非对称PWM(使用一个通道)
文章目录 一.前言 二.CubeMX 2.1.Clock Configuration 2.2.TIM1 Mode and Configuration 2.3.Parameter Settings 2. ...
最新文章
- 受用一生的高效 PyCharm 使用技巧(六)
- 谷歌发布TensorFlow,用于测试人工智能模型的隐私保护
- 关于RESTful名字的含义
- centos7 docker升级到最新稳定版本
- mysql安全配置基线_MySql数据库安全配置基线.doc
- Java常见面试题及答案汇总
- 【数据结构基础笔记】【链表】
- linux屏保配置文件夹,Linux下屏保设置
- new操作符的作用是什么
- 取代树莓派,这 9 款系统基础芯片跃跃欲试!
- redismanager 获取不到yml中的密码_恋爱物语APP:在城市的孤独中,获取真爱密码...
- 二年级孩子适合学C语言吗,小孩子适合学习编程吗?孩童时期对变成的接受程度有多少呢?...
- 简历表格下载word格式 免费版​
- 木马开发的基本理论基础(四)
- 无人机开发-介绍Mavlink协议的消息组成、如何看懂繁杂的mavlink官网介绍、简单介绍地面站与飞控的通讯流程
- skinsdog 狗网CSGO开箱地址!csgo开箱网站官网!
- iOS 字体转换
- 汉诺塔非递归算法分析与实现
- ITU601与ITU656
- MATlAB运用——数值积分
热门文章
- 另类玩法:通过 DNS 进行文件传输
- 《深入理解计算机系统》第七章 链接
- 转:大型网站架构系列:负载均衡详解(2)
- 【C++基金会 06】explictkeyword
- three.js 源代码凝视(七)Math/Euler.js
- 《0bug-C/C++商用工程之道》节选00--内存管理的基本要求
- 有个程序媛女朋友是一种什么样的感觉?
- 【飞秋】一起学Windows Phone7开发(十三.二 按钮控件)
- C++程序设计语言编程风格演变史
- 你是菜鸡是有原因的 谈谈提问的艺术