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

STM32CubeMX,定时器之定时功能,入门学习,如何设置prescaler,以及timer计算PWM输入捕获方法(重要)

频率变小,周期变长

1,参考链接(重要)

STM32CubeMX——定时器之定时功能(学习使用timer定时器的设置)
STM32测量PWM信息(学习使用设置pwm输入捕获)
通用定时器中两个重要参数的设置心得(TIM_Prescaler、TIM_Period)

2,视频学习

【STM32F030C8T6系列】5. 实验例程——PWM输入实验(重要)
这个视频的里面设置的有点问题:prescaler这里设置的有问题吧,应该是8000-1吧

3,我自己的设置:

在这里插入图片描述

计算的方式很多,我喜欢用这种计算方式,比较直接,当然可以选择下面两种计算方法,这三种计算方法分别在上面的参考链接里。
我的计算(8000/8000 000)*500=0.5s也就是20HZ,也就是支持500ms的周期,一般我们就按照计算的值来作为周期了。
如果我要100hz,也就是10次上报一次,这里不写500-1,写10-1了,也就是10ms,也就是100HZ,也就是我计算可以支持0-100HZ的pwm输入了。当然也可以通过修改预分频率的值。

1选择TIM2
2定时器时钟选择内部时钟
Clock Source(时钟来源)
计数器设置:
Prtscaler (定时器预分频系数) : 31999
Counter Mode(计数模式) : Up(向上计数模式)
Counter Period(自动重装载值) : 499
CKD(时钟分频因子) : No Division 不分频 (可以选择二分频和四分频 )
auto-reload-preload(自动重装载) : Enable 使能
定时器的定时周期
T = (psc+1)(arr+1)/Tclk
psc 为定时器预分频系数
arr为自动重装载值
Tclk为系统时钟频率
通过计算
T = (psc+1)(arr+1)/Tclk=(31999+1)(499+1)/32us=500ms
————————————————

4,其他设置案例详细说明:

A.案例1
主频72MHZ,最大计数次数5000,所以系统的最小采样频率是:2HZ,最大采样频率是72MHZ
一般为了方便中断,我们都是按照计数完成之后再触发,所以采样频率就是2hz,也就是500ms

//对于71MHZ的频率,500ms中断一次,这两个参数设置如下:
TIM_Prescaler=7199; //预分频值
TIM_Period=4999; //下一个更新事件装入活动的自动重装载寄存器周期的值
//分频7200,用72000000/7200=10000Hz
//此时的周期就是1/10000=0.0001s
//500ms=0.0001s*5000次
//5000-1=4999次
//即通过4999次系统的运行,就是500ms
————————————————

B.案例2
在这里插入图片描述

72M的主时钟,7200分频后,单个计数时间是0.0001秒,最大计时长度是0.0001*65535=0.65535秒,所以最小频率不能小于1.5Hz。同时这个分频也影响你对频率测量的精度。

http://www.lryc.cn/news/301157.html

相关文章:

  • 蓝桥杯:C++队列、优先队列、链表
  • 【C语言】长篇详解,字符系列篇1-----“混杂”的各种字符类型字符转换和strlen的模拟实现【图文详解】
  • 2024年【高处安装、维护、拆除】考试总结及高处安装、维护、拆除考试技巧
  • 开源无处不在,发展创新下又有何弊端
  • LeetCode 0429.N 叉树的层序遍历:广度优先搜索(BFS)
  • Practical User Research for Enterprise UX
  • 文生视频:Sora模型报告总结
  • GA 374-2019 电子防盗锁检测
  • 代码随想录day26 Java版
  • 英文论文(sci)解读复现【NO.21】一种基于空间坐标的轻量级目标检测器无人机航空图像的自注意
  • 数据集合
  • php基础学习之作用域和静态变量
  • SP1:基于Plonky3构建的zkVM
  • Python爬虫之文件存储#5
  • Spring Boot 笔记 012 创建接口_添加文章分类
  • Spring-面试题
  • Flink理论—容错之状态
  • 【数据结构】链表OJ面试题5《链表的深度拷贝》(题库+解析)
  • 智慧校园规划建设方案
  • 003 - Hugo, 创建文章
  • HCIA-HarmonyOS设备开发认证V2.0-IOT硬件子系统-GPIO
  • 《Java 简易速速上手小册》第7章:Java 网络编程(2024 最新版)
  • 用keras对电影评论进行情感分析
  • 每日OJ题_算法_递归④力扣24. 两两交换链表中的节点
  • 110 C++ decltype含义,decltype 主要用途
  • PYTHON 120道题目详解(85-87)
  • 【Linux】Linux编译器-gcc/g++ Linux项目自动化构建工具-make/Makefile
  • sqlserver 子查询 =,in ,any,some,all的用法
  • 基于MapVGL的地理信息三维度数据增长可视化
  • 天锐绿盾|防泄密系统|计算机文件数据\资料安全管理软件