0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于TIM延时讲解

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-04-08 09:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天讲解STM32F103定时器延时功能,TIM的功能很强大,后续慢慢讲解。今天从简单开始讲解定时器,以下面软件工程实例来讲述。

软件工程下载地址(360云盘):

https://yunpan.cn/cP5utM7kxIReM 访问密码 6f12

工程现象:间隔(定时器延时)500ms LED变化一次, 并且串口打印

STM32F103ZE有8个定时器(TIM1 – TIM8), 这里工程使用TIM4为例。

STM32F10x的资料可以在我360云盘下载:

https://yunpan.cn/crBUdUGdYKam2访问密码 ca90

关于TIM延时,我把重要的几点在下面分别讲述,工程中没有在这里讲述的请关注微信公众号“EmbeddDeveloper”查阅或留言。

现将重点讲述关于TIM延时的几点内容。

一、定时器时钟

这里的“时钟配置”函数在bsp.c文件下面;

使能时钟:RCC_APB1Periph_TIM4。

二、定时器配置

函数在timer.c文件下面;

详见每一句后面都有注释。

三、延时函数

函数在timer.c文件下面;

主要是延时函数,至于为什么是延时10us,这里开始学习的人可能不能理解。

大致意思:TIM每秒计数1M次(系统时钟72M, 72分频),计数满10次一个周期,也就是1usX 10 = 10us

见timer.h里面的宏定义:TIM4_COUNTER_CLOCK、TIM4_PRESCALER_VALUE、TIM4_PERIOD_TIMING

由这几个宏定义决定延时时间。

四、主函数应用

函数在main.c文件下面;

(定时器)延时500ms跳变LED、打印(发送)字符串。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 延时
    +关注

    关注

    0

    文章

    110

    浏览量

    26463
  • 时钟
    +关注

    关注

    11

    文章

    2007

    浏览量

    135433
  • Tim
    Tim
    +关注

    关注

    0

    文章

    85

    浏览量

    19158
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ad9467延时设置问题出在了哪里

    了axi_ad9467,dma部分,ps7以及一些axi接口部分,其余的都去掉了 ps端的代码用的官网zed的例程代码,只是去掉了关于ad9517部分,现在的问题是 我的输出结果是这样,ps端可以测出我目前
    发表于 05-15 06:51

    探索Cebek I - 36延时定时器:设计与应用指南

    探索Cebek I - 36延时定时器:设计与应用指南 在电子工程师的日常工作中,延时定时器是一种常见且实用的设备。今天,我们就来深入了解Cebek I - 36延时定时器,从其特性、安装到操作
    的头像 发表于 05-11 14:40 168次阅读

    LAT1202+TIM DMA burst 输出变频 PWM 波形应用笔记

    客户需要 MCU 输出一组变频的 PWM 波形来控制外围器件,并且不同频率脉冲的个数也不同。STM32U5 芯片拥有 TIM1/TIM8 高级定时器,还有通用定时器TIM2/TIM3/
    发表于 01-11 17:22 0次下载

    如何在Zephyr RTOS中实现延时和计时函数

    在实时操作系统(RTOS)中,时间管理是核心功能之一。无论是任务调度、超时控制,还是周期性事件,延时和计时机制都扮演着至关重要的角色。Zephyr RTOS作为一个轻量级、模块化的开源系统,提供了
    的头像 发表于 12-26 10:32 6407次阅读
    如何在Zephyr RTOS中实现<b class='flag-5'>延时</b>和计时函数

    交流延时电源

    交流延时电源
    的头像 发表于 12-25 12:57 639次阅读
    交流<b class='flag-5'>延时</b>电源

    感知再进化,新增“触发延时”功能!

    ——「触发延时」正式上线!这不仅是一个功能的增加,更是对产品稳定性和场景适用性的一次深刻优化。一、亮点速览什么是“触发延时”功能?简单来说,“触发延时”是指在雷达检测到
    的头像 发表于 11-10 11:05 1129次阅读
    感知再进化,新增“触发<b class='flag-5'>延时</b>”功能!

    如何利用蜂鸟HbirdV2-SoC自带外设PWM进行毫秒级的延时和计时

    1 队伍介绍 本篇主要介绍如何利用蜂鸟HbirdV2-SoC自带外设PWM进行毫秒级的延时和计时。 2 TIM0配置 在上一个帖子中,介绍了HbirdV2-SoC自带外设PWM的寄存器
    发表于 10-30 07:47

    脉冲编码器TIM3中断不生效是怎么回事?

    环境 stdio rtt 4.1.1 mcu stm32F407ZET6 目的 使用TIM3定时器读取编码器圈数 ① 按照论坛配置方法配置了一遍TIM3 board.h添加了 #define
    发表于 09-22 06:23

    探头的延时介绍

    探头的延时是指信号从被测点传输到示波器输入端的时间间隔,即信号经过探头的探针、传输电缆、内部电路等路径后,到达示波器采样系统的总时间延迟,(以下讨论低速信号情景,忽略示波器通道间ps级的延时误差)。不同型号的探头延时存在差异,尤
    的头像 发表于 09-17 17:32 1068次阅读
    探头的<b class='flag-5'>延时</b>介绍

    认识探头的延时

    探头的延时是指信号从被测点传输到示波器输入端的时间间隔,即信号经过探头的探针、传输电缆、内部电路等路径后,到达示波器采样系统的总时间延迟,(以下讨论低速信号情景,忽略示波器通道间ps级的延时误差
    的头像 发表于 08-26 17:04 973次阅读
    认识探头的<b class='flag-5'>延时</b>

    第二十二章 TIM——高级定时器

    本章介绍了W55MH32的高级定时器(TIM1和TIM8),其含时基单元等,具备输入捕获、输出比较、PWM生成等功能,还支持互补输出、死区插入等,适用于工业电机控制,也提及相关配置结构体。
    的头像 发表于 06-20 13:58 1974次阅读
    第二十二章 <b class='flag-5'>TIM</b>——高级定时器

    第二十一章 TIM——通用定时器

    本篇文章介绍了W55MH32的通用定时器(TIM2~TIM5等),其由16位自动装载计数器和可编程预分频器构成,具备输入捕获、输出比较、PWM生成等功能,还介绍了时基单元、计数器模式等,并有代码解析与下载验证内容。
    的头像 发表于 06-20 13:57 1835次阅读
    第二十一章 <b class='flag-5'>TIM</b>——通用定时器

    第二十章 TIM——基本定时器

    本章介绍了W55H32基本定时器TIM6、TIM7,16位向上计数,含时钟源、预分频器等,讲解定时计算及初始化结构体。
    的头像 发表于 06-20 13:51 1505次阅读
    第二十章 <b class='flag-5'>TIM</b>——基本定时器

    comp输出用于tim1刹车,消隐源和pwm输出是不是得是同一个TIM呢?

    那不是一个定时器的话 怎么能保证COMP1的消隐触发同步呢?假设pwm输出是tim1_ch2,那么我消隐源可以选tim4_oc3?是不是tim1_oc5跟合理?
    发表于 06-09 07:12

    comp输出用于tim1刹车,消隐源和pwm输出是不是得是同一个TIM呀?

    那不是一个定时器的话 怎么能保证COMP1的消隐触发同步呢?假设pwm输出是tim1_ch2,那么我消隐源可以选tim4_oc3?是不是tim1_oc5跟合理?
    发表于 06-05 06:10