STM32+PWM+输入捕获测频

外部时钟,主频64M

定时器1 通道1发出PWM波 频率1K

 定时器2 通道1输入捕获,上升沿触发

 

 

 串口

/* USER CODE BEGIN 0 */
uint32_t time_up_num=0;//上升沿计数
float time_frequency;//频率
/* USER CODE END 0 */

 初始换打开定时器

/* USER CODE BEGIN 2 */HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 300);HAL_TIM_IC_Start_IT(&htim2,TIM_CHANNEL_1);//函数用于使能定时器某一通道的输入捕获功能,并使能相应的中断HAL_Delay(100);/* USER CODE END 2 */

 回调函数

/* USER CODE BEGIN 4 */
// 捕获中断回调函数,每次捕获到信号就会进入这个回调函数
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{// 判断是否是定时器2的外部捕获口1if(htim->Instance == TIM2){if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_1 ){time_up_num = HAL_TIM_ReadCapturedValue(htim,TIM_CHANNEL_1); // 读取捕获计数,这个时间即为上升沿持续的时间__HAL_TIM_SET_COUNTER(&htim2, 0); // 计数清零,从头开始计}}
}
/* USER CODE END 4 */

计算频率打印,若是想改变频率可设定定时器的计数

__HAL_TIM_SET_AUTORELOAD(&htim1, 499);
  while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */time_frequency=1000000/time_up_num;//频率printf("frequency=%.2f\r\n",time_frequency);HAL_Delay(500);
//		__HAL_TIM_SET_AUTORELOAD(&htim1, 499);}

 前两个是频率为1KHz,后面修改了PWM的频率,即频率为2KHz。

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

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

相关文章

mapBox 绘制多边形无法设置 边框宽度 解决方法

目录 一、问题 二、解决方法 三、总结 tips:如嫌繁琐,直接看有颜色的文字即可! 一、问题 1.使用mapBox在地图上绘制点、线、面。绘制多边形的时候发现 直接用 zh(一家提供地图引擎的公司),提供的绘制多边形的方法无法设置边框颜色和边框宽度。很是离…

Linux登录时,下游回显非常慢

目录 问题现象 原因分析 解决方法 源码等资料获取方法 问题现象 登录linux时,远程连接正常,[root...]回显非常慢,在执行脚本时,很容易导致命令下发错乱 原因分析 家目录下的.bash_history文件太大,导致每次登陆时读…

SQLSERVER的truncate和delete有区别吗?

一:背景 1. 讲故事 在面试中我相信有很多朋友会被问到 truncate 和 delete 有什么区别 ,这是一个很有意思的话题,本篇我就试着来回答一下,如果下次大家遇到这类问题,我的答案应该可以帮你成功度过吧。 二&#xff1…

特斯拉降价阴影下,智己如何「登高」?

作者 | 刘然 来源 | 洞见新研社 都说背靠大树好乘凉,但背靠上汽集团的智己汽车,反而水深火热。 2021年,在智己正式向外界公布了“豪华纯电智能轿车”智己L7之后,其CEO刘涛曾放出豪言:“我们在未来的很多年后再回顾今…

【TI毫米波雷达笔记】DCA1000EVM+mmWave Studio数据采集的MIMO模式设置(多天线发射工作模式)

【TI毫米波雷达笔记】DCA1000EVMmmWave Studio数据采集的MIMO模式设置(多天线发射工作模式) 以IWR6843AOP为例 其为3发4收的雷达 MIMO模式有两种 TDM-MIMO和BPM-MIMO TDM-MIMO模式(时分复用) TDM-MIMO模式是最简单和常用的MIM…

【机器学习】特征降维 - 方差选择法VarianceThreshold

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 方差选择法 一、方差科普二、方差选择API三、获取数…

Slam十四讲之第一讲和第二讲,实践编程基础

目录 1.镜像寻找①方法1:百度网盘下载②方法2:在开源镜像网站上下载,③方法3:直接在Ubuntu官网下载 2 在VMware中创建虚拟机并安装Ubuntu18.043 安装VMware Tools4 初始系统中,部分软件的安装4.1 gcc 安装4.2 g安装4.3…

github搜索案例

目录结构 public/index.html <!DOCTYPE html> <html lang""><head><meta charset"utf-8"><!-- 针对IE浏览器的一个特殊配置&#xff0c;含义是让IE浏览器以最高的渲染级别渲染页面 --><meta http-equiv"X-UA-Comp…

阿里云配置端口安全组策略

文章目录 为何配置安全组安全组设置安全组应用到实例中 为何配置安全组 nginx正确配置了83端口&#xff0c;却无法访问资源&#xff0c;报502错误&#xff0c;这大概就是服务器的安全策略原因 安全组设置 安全组配置地址 安全组应用到实例中 配置地址

【设计模式】23种设计模式——工厂模式(原理讲解+应用场景介绍+案例介绍+Java代码实现)

工厂模式 需求了解 看一个披萨的项目&#xff1a;要便于披萨种类的扩展&#xff0c;要便于维护 披萨的种类很多(比如 GreekPizz、CheesePizz 等)披萨的制作有 prepare&#xff08;准备材料&#xff09;,bake&#xff08;烘焙&#xff09;,cut&#xff08;切割&#xff09;,b…

element ui 导入模块的封装

导入组件的封装 <template><Modal :visible"visible" title"导入" onSave"onSave" onCancal"closeDialog"><template #default><el-upload ref"upload" class"upload-demo"action"ht…

jmeter 连接数据库常见报错

1. 不允许主机连接到MySQL 报错信息&#xff1a; Response message:java.sql.SQLException: Cannot create PoolableConnectionFactory (null, message from server: "Host 192.168.1.6 is not allowed to connect to this MySQL server") 说明&#xff1a;本机的地…