STM32 HAL 检测PWM频率/占空比

这篇具有很好参考价值的文章主要介绍了STM32 HAL 检测PWM频率/占空比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.STM32CubeMX配置

配置的系统时钟是100M,Timer的时钟也是100M
hal库如何读取当前pwm的占空比,STM32CubeMX,stm32,单片机,嵌入式硬件
hal库如何读取当前pwm的占空比,STM32CubeMX,stm32,单片机,嵌入式硬件
Timer 的频率为:100M 分频 1000 = 0.1MHz 也就是定时器 每10us 计一个数

打开TIM4_CH2引脚中断

hal库如何读取当前pwm的占空比,STM32CubeMX,stm32,单片机,嵌入式硬件
hal库如何读取当前pwm的占空比,STM32CubeMX,stm32,单片机,嵌入式硬件

2.程序应用

main.c中开启中断

  HAL_TIM_IC_Start_IT(&htim4, TIM_CHANNEL_1); // 开启tim4通道1的中断
  HAL_TIM_IC_Start_IT(&htim4, TIM_CHANNEL_2); // 开启tim4通道2的中断

TIM4_CH2引脚中断回调

static uint32_t TempPIpre = 0;
static uint32_t TempPIpul = 0;
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{

  if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_2)
  {
    TempPIpre = HAL_TIM_ReadCapturedValue(&htim4, TIM_CHANNEL_1); // 1.读取高电平时间
    TempPIpul = HAL_TIM_ReadCapturedValue(&htim4, TIM_CHANNEL_2); // 2.读取整周期时间
    __HAL_TIM_SetCounter(&htim4, 0);                              // 3.定时器计数清零
  }
}

hal库如何读取当前pwm的占空比,STM32CubeMX,stm32,单片机,嵌入式硬件

占空比%:TempPIpre *100 / TempPIpul
周期T: TempPIpul * 10us
频率f: 1 / T文章来源地址https://www.toymoban.com/news/detail-643353.html

到了这里,关于STM32 HAL 检测PWM频率/占空比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32主从模式实现两路同步PWM脉冲输出,频率、占空比可调

    原理:定时器1为主模式,定时器8为从模式,TIM1的定时器使能操作作为触发输出[TRGO]触发TIM8并使能TIM8的计数器,同时输出两路频率、占空比以及脉冲数量(小于256个,高级定时器重复计数功能为8位)可调PWM波形。 关键代码: 定时器1(TIM1)设为主模式: 定时器2(TIM8)设为从

    2024年02月13日
    浏览(42)
  • STM32笔记——定时器输入捕获功能(测量PWM的频率和占空比)

    目录 一、概述 二、输入捕获功能 2.1 输入捕获简介 2.2 输入捕获通道  三、输入捕获功能测量PWM波的频率和占空比 3.1 测量频率的方法 3.2 测量过程         主要介绍通用定时器的输入捕获功能,输入信号由GPIO口进入输入捕获通道,之后输入部分对相应的TIx输入信号采样,并

    2024年02月06日
    浏览(85)
  • 一文搞懂STM32定时器翻转模式(产生多路频率、占空比的PWM)

    在STM32定时器配置中,我们知道可以将定时器配置为PWM输出模式,也叫输出比较模式,通过修改ARR寄存器中的值可以改变PWM周期,通过修改CCR寄存器中的值可以修改,PWM的占空比,但是这种普通的PWM输出模式较为单一,能输出PWM的定时器有4个通道,这种方式只能够产生4路周期

    2024年02月12日
    浏览(61)
  • STM32实现PWM输出频率1kHz占空比50%的方波和呼吸灯

    板子:野火指南者 芯片:STM32f103VET6 PWM通道:TIM3的通道1和通道3 GPIO:PA6和PB0 本文主要讲需要怎么做,简要讲解原理,提供全部代码,有利于快速上手。 打开STM32f103VET6的芯片数据手册,打开目录Pinouts and pindescriptions——High-density STM32F103xC/D/E pin definitions,如图所示。 这里选

    2024年02月05日
    浏览(52)
  • STM32F407单一定时器输出4路不同频率及占空比的PWM波

    程序效果演示 STM32单一定时器输出四路不同频率及占空比的PWM波 一、程序思路 因为定时器只有一个CNT计数器所以只能有一个输出频率,若要实现多路不同频率波形,只能通过在当前CNT计数器的基础上不断累加自身CCR寄存器的值来触发中断在中断中翻转波形的方式,此时中断

    2024年02月05日
    浏览(61)
  • STM32学习笔记(六)丨TIM定时器及其应用(输入捕获丨测量PWM波形的频率和占空比)

    ​  本次课程采用单片机型号为STM32F103C8T6。 ​  课程链接:江科大自化协 STM32入门教程   往期笔记链接:   STM32学习笔记(一)丨建立工程丨GPIO 通用输入输出   STM32学习笔记(二)丨STM32程序调试丨OLED的使用   STM32学习笔记(三)丨中断系统丨EXTI外部中断

    2023年04月19日
    浏览(56)
  • STM32外设之TIM定时器使用及输出比较模式PWM生成,PWM频率和占空比计算,文末有固件库TIM驱动文件的函数讲解

    过来人的经验分享: TIM定时器在我们学习STM32的过程中是一个重要且稍微有点难度的外设了,就拿从学校里做的项目来说用到的也是一些基本的外设配置和传感器等等。TIM作为外设中稍微有点难度的外设相当关键,学好TIM,对以后学习单片机开发也有很大帮助。 定时器是stm3

    2024年02月07日
    浏览(48)
  • stm32按键控制改变pwm占空比

    每次按下按键改变TIM_Setcompare函数中占空比值即可。 相关io口,占空比调节级数,是否支持连按根据自己需要自行修改。 main.c #include \\\"delay.h\\\" #include \\\"sys.h\\\" #include \\\"pwm.h\\\" #include \\\"stm32f10x_tim.h\\\" #include \\\"key.h\\\" int t=50;//占空比 void key_function(void)  {  static u8 key = 0;  key = KEY_Scan(0); if(key

    2024年02月08日
    浏览(50)
  • 【STM32基础】第四篇、控制PWM占空比

    目录 第一部分、STM32定时器的基本知识 1、STM32定时器的分类(图片来自野火文档) 2、开发过程中定时器的常用基础功能 3、定时器挂在的总线  第二部分、能用的代码   1、定时器计时代码 2、定时器输出PWM代码 第三部分、总结 1、STM32定时器的分类(图片来自野火文档)  

    2024年02月07日
    浏览(46)
  • STM32——输入捕获IC(测试频率以及PWMI测试频率占空比)

    目录 一、IC介绍 1.1、IC作用 1.2、电路部分  1.2.1、详细电路作用  1.2.2、从模式控制器 1.3、输入捕获配置基本结构 1.3.1、PWMI模式 二、代码配置 2.1、从模式函数 2.1.1、TIM_SelectInputTrigger() 2.1.2、TIM_SelectSlaveMode() 2.1.3、TIM_SelectSlaveMode() 2.2.输入捕获及时基单元函数 2.2.1、

    2024年01月25日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包