stm32产生100k时钟信号_stm32定时器时间计算

本文介绍了STM32定时器如何产生100k时钟信号,详细解析了定时器工作原理、时钟频率计算、分频器设置和定时计数器的值。通过实例展示了如何设置分频比和自动重装载寄存器值以实现1秒的定时,同时强调了TIMx的默认时钟和重复计数器配置的重要性。
摘要由CSDN通过智能技术生成

STM32定时器的工作原理

STM32之所以能够实现定时,是单片机内部在计数脉冲(来自晶振)

T=1/F (F为频率)

例如:我们以51单片机举例,假设单片机搭配12MHz的晶振,由于51单片机是12分频(即1个机器周期有12个时钟周期),则单片机的最小定时时间为

1 2 MHz / 2 = 1 MHz

Tt = 1 / 1 MHz = 1 us

最小定时时间T=1/1MHz=1us

51单片机定时器:

方式0 13位最大定时时间间隔2^13=8.192ms

方式1 16位最大定时时间间隔2^16=65.536ms

方式2 8位最大定时时间间隔2^8=256us

由此我们知道对于一个定时器而言要做到精确定时需要关注2个内容

1、分频器(分频比)

2、定时计数器的值

STM32定时器的时钟

CK_CNT表示定时器工作频率

TIMX_PSC表示分频系数

则定时器的工作频率计算公式为

CK_CNT=定时器时钟/( TIMx_PSC+1)

由此我们可得到STM32单片机1个时钟周期

为:T=1/ CK_CNT

例如普通定时器模块的时钟为72MH2,分频比位7199,那么我们想要得到一个1秒钟的定时,定时计数器的值需要设定为 》 TImx arr = 1 0 0 0 0

因为72000000/7200=10KHz时钟周期T=1/10KHz=100us100us&am

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值