当前位置: 首页 > article >正文

STM32 PWMI模式测频率占空比

接线图:

PWMI基本结构

代码配置:

与上一章输入捕获代码一样,根据结构体,需要在输入捕获单元再配置一个通道。我们调用一个函数

这个函数可以给结构体赋值,当我们定义了一遍结构体参数,再调用这个函数,就可以再定义一边参数并取反。通过这个函数可以快捷实现定义其他参数。

void TIM_PWMIConfig(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);

功能代码:

实现测量占空比,高电平的计数值存在CCR2里,整个周期的计数值存在CCR1里,我们用CCR2 / CCR1,就能得到占空比

//测量占空比

uint32_t IC_GetDuty(void)
{
	return (TIM_GetCapture2(TIM3) + 1) * 100 / (TIM_GetCapture1(TIM3) + 1);
}

主函数:

#include "IC.h"
int main(void)
{
	OLED_Init();
	PWM_Init();
	IC_Init();
	OLED_ShowString(1, 1, "Freg:00000Hz");
	OLED_ShowString(2, 1, "Duty:00%");
	PWM_SetPrescaler(720 - 1);        //Freq = 72M  / (PSC + 1) / 100
	PWM_SetCompare(50);								//Duty = CCR / 100
	
	while(1)
	{
		 
	   OLED_ShowNum(1, 6, IC_GetFreq(), 5);
		 OLED_ShowNum(2, 6, IC_GetDuty(), 2);
	}
	
	
}


http://www.kler.cn/a/526332.html

相关文章:

  • 后端token校验流程
  • 创建 priority_queue - 进阶(内置类型)c++
  • vscode+WSL2(ubuntu22.04)+pytorch+conda+cuda+cudnn安装系列
  • 【Redis】 String 类型的介绍和常用命令
  • QPS 值是怎样进行计算和应用的
  • 21.2-工程中添加FreeRTOS(掌握) 用STM32CubeMX添加FreeRTOS
  • (持续更新中~~)3、原来可以这样理解C语言_分⽀和循环上(3)条件操作符
  • 使用Python进行大模型的测试与部署
  • 8642 快速排序
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.18 逻辑运算引擎:数组条件判断的智能法则
  • Java中的注解与反射:深入理解getAnnotation(Class<T> annotationClass)方法
  • 在 Linux 上安装 Microsoft TrueType 字体:ttf-mscorefonts-installer 指南
  • 数据结构:线性表查找的三种方式
  • 向下调整算法(详解)c++
  • 指针空值——nullptr(C++11)——提升指针安全性的利器
  • Hive:静态分区(分区语法,多级分区,分区的查看修改增加删除)
  • 无公网IP 外网访问 本地部署夫人 hello-algo
  • 【赵渝强老师】K8s中Pod探针的TCPSocketAction
  • 新年手搓--本地化部署DeepSeek-R1,全程实测
  • Pandas进行MongoDB数据库CRUD
  • 题海拾贝:二叉树遍历
  • 【愚公系列】《循序渐进Vue.js 3.x前端开发实践》028-组件Props属性的高级用法
  • 文件上传2
  • vue3第三部分--组件通信
  • 【2024年华为OD机试】 (C卷,100分)- 最大括号深度(Java JS PythonC/C++)
  • python开发,最好的环境是什么