stm32 timer7时间与实际时间有差别_stm32第2讲——时间

7223d9b8fbd4cf7ff31d714c64a935a8.png

只要我们能善用时间,就永远不愁时间不够用。---德国诗人 歌德

(要副本见第0章)

时间是一个神秘的东西,无处不在却总在失去。stm32上的时钟树十分强大,吊打只有几个时钟的51单片机,我主要讲讲系统时钟system和定时器TIM。

eb698ac9b284991e4d97966cc98e9c87.png

一目了然的时钟树。

1.系统时钟,内容在delay.c里,感兴趣的可打开看看里面的函数。

在你想延时的地方加上

delay_ms(???);延时XXX毫秒
delay_us(???);延时XXX微秒

当然,里面的数值不能超过2的16次方即65536-1。

2.定时器

stm32系列是单线程运算的,使用系统定时器会占用宝贵的时间,使用tim定时器就成了主流。打开副本并配置time.c文件

TM32F103系列有11个定时器:

2个高级定时器(TIM1,TIM8)

4个通用定时器(TIM2,TIM3,TIM4,TIM5)

2个基本定时器(TIM6,TIM7)

2个看门狗定时器(IWDG,WWDG)

1个系统定时器。

计时间是每个定时器的基本功能,这里演示的是tim4

TIM4_Init(计数次数ps,预分频pr);//把初始化加入main函数中

两者都不能超过2的16次方。系统时钟我默认的是72MHZ.计时时间等于

((pr-1)/72000)*ps,单位是ms

定时时间一到,就会发生中断,处理器就会停下现在的是,去处理中断内容,中断函数名字不能随便起,而是(申请中断器件名字)+_IRQHandler。时间一到干什么,可以自己编,中断函数可以放在任何地方(包含在头文件即可),无需声明,中断函数最后记得加上

TIM_ClearITPendingBit(TIMx,TIM_IT_Update);

清楚中断标记。

这里举个例子

b24591e45f959bfab63af4e17c3fb633.png

谢谢观看!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值