有人想使用stm32g474芯片做half模式的pwm输出,发现有点问题,明明配置了定时器a的两路输出, 结果总是只有1路输出。这里简单演示下实现过程。【顺便提醒下,并非stm32g4全系列都内置高精度定时器】
所谓half模式就是指硬件基于给定的计数周期值自动输出占空比为50%的方波,用户无须对比较寄存器的值再进行设置,这里硬件默认使用比较寄存器1【cmp1】,硬件自动将用户设置的period值的一半赋给cmp1寄存器。换言之,用户此时无法对cmp1寄存器进行赋值。
另外,对于输出配置必须使用cmp1比较事件和定时器的period周期事件。
关于half模式的原理就介绍到这里,下面就使用stm32g474re的nucleo开发板演示下实现过程,主要是软件配置,硬件没啥要处理的,有块开发板就行。
先使用stm32cubemx进行配置【其它rcc等的配置此处就不说了】。
下面截图橙色框中的配置是必须的,有关定时器的时间参数我随便配置的,毕竟这里只是演示一下功能。
这里的比较单元1必须使能,使能即可,无须参数配置。
下面关于ta1/ta2输出的配置,也是必须的关键配置。
至于定时器的其它配置,保持默认即可。配置完成后,生成初始化代码,然后加入合适的用户代码。
hal_hrtim_waveformcountstart(&hhrtim1, hrtim_timerid_timer_a);
hal_hrtim_waveformoutputstart(&hhrtim1, hrtim_output_ta1);
hal_hrtim_waveformoutputstart(&hhrtim1, hrtim_output_ta2);
因为我把ta1/ta2极性选择是相反的,所有此时输出的是两路互补波形,如果二者极性选择一致,输出的就是两路占空比为50%的相同波形。
ok,该话题就分享到此,愿君有所获。
Cyntec高效uPOL模块MMN12AD01-SG特点
智能自助试衣设备诞生了,它就是智能体感试衣镜
将CMOS 放大器用于高性能
Vitis AI 1.4赋予 AI 产品化更多可能性
安防落地主要在乎的是什么
使用STM32G474芯片做Half模式的PWM输出
微雪电子STM32F411RET6 STM32开发板简介
智能照明市场迎来发展的上升期
微软创投成立新基金 将投资各大人工智能创业公司
通向云与AI先要跨越裂谷 真勇士会跨过六道裂谷奔向云与AI的彼端
TÜV南德新能源汽车检测实验室 是纯电动及混动汽车安全性的代名词
Zcash需要什么才能变得更加主流
便携式短路接地线的技术要求与使用方法
莱尔德--TIM Print™, 全新自动化印装工艺技术
TCL发布最新产品BCD-455WBEPFC2冰箱,拥有455升的超大容量
使用独立于核心的外设设计具有成本效益的药物输送装置
探究自动驾驶传感器之车载摄像色彩感应及校正
2020年我国“互联网+”医疗市场规模将同比增长50.5%
天数智芯的7纳米GPGPU云端芯片正式进入流片阶段
2.4G集成MCU的合封芯片,功能究竟有多强大?