GD32基本定时器的定时周期计算

2023-10-31

GD32基本定时器的定时周期计算

一、 基本定时器原理结构框图(TIMER5)

在这里插入图片描述
基本功能流程描述:
基本定时器仅有一个时钟源TIMER_CK,用来驱动计数器预分频器。当CEN(计数器使能)置位,TIMER_CK经过预分频器(预分频值由TIMERx_PSC寄存器确定)产生PSC_CLK。分频后的时钟PSC_CLK驱动计数器计数。

二、 计时周期

计时周期的决定因素有:

1、 时钟频率TIMER1CLK
一般是72MHZ。

2、 预分频系数
预分频器可以将定时器的时钟(TIMER_CK)频率按1到65536之间的任意值分频,分频系数受预分频寄存器TIMERx_PSC控制(这个控制寄存器带有缓冲器,它能够在运行时被改变。新的预分频器的参数在下一次更新事件到来时被采用)。
在这里插入图片描述
所以TIMER5 counter clock = systemcoreclock/(PSC+1)
注意:设置PSC时应当减去1。

3、 自动重装载寄存器(TIMERx_CAR)
在这里插入图片描述
以下是当TIMERx_CAR=0x63时,计数器在不同预分频因子下的行为的一些例子。计数器序列为00~63,共64个值。
所以在设置CAR寄存器时,也要减去1。若定义200个周期,此值应设置为199。
在这里插入图片描述
4、 定时周期计算公式:
预分频之后得到的频率:time counter clock = systemcoreclock/( prescaler +1)
T=1/f;Time=T*周期
定时时间:Time= (1+prescaler)/ systemcoreclock *(1+period)

三、 定时器配置

主要参数:外设频率72M;预分频后得到36000HZ;定时周期1000个时钟;
定时时间time=(1+35999)/72M*1000=0.5S

void timer5 config
{ /* TIMER configuration:TIMERICLK= 72MHz, prescaler = 36000
TIMER counter clock = systemcoreclock/36000 = 2KHz.
TIME= ((1+Prescaler)/72M) * (1+period)*/
timer parameter struct timer initpara;
/* enable TIMER5 clock */
Rcu_periph_clock_enable( RCU_TIMER5 );
/* reset TIMER5 /
timer_deinit ( TIMER5 );
/* TIMER5 configuration */
timer_initpara.prescaler = 35999;//设置预分频值,分频后为72M/(35999+1)=2000
timer_initpara.alicnedmode=TIMER_COUNTER_EDGE;
timer_initpara.counterdirection =TIMER_COUNTER_UP;//向上计数
timer_initpara.period=999://设置自动重装载周期值
timer_initpara.clackdivision=TIMER_CKDIV_DIV2;
timer_initpara.repetitioncounter =0;
timer_init( TIMER5, &timer_initpara);
/* enable TIMERI auto-reload shadow function */ 
timer_auto_reload_shadow_enable( TIMER5 );
/* clear the update interrupt bit */
timer_interrupt_flag_clear( TIMER5, TIMER INT UP ); 
/* enable the update interrupt */
timer_interrupt_enable( TIMER5, TIMER_INT_UP); 
/* TIMERI counter enable */
timer_enable( TIMER5);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GD32基本定时器的定时周期计算 的相关文章

  • 手动更新(rpi-update)树莓派固件

    手动更新 rpi update 树莓派固件 1 下载固件 本地更新 先在 PC 上下载固件 也可以用如下方法下载 curl L https github com Hexxeh rpi firmware archive master tar
  • 我的第一个Imx6ULL应用《百度图像识别》

    Imx6ULL填坑计划 此次用到的所有资料我都放到了奶牛快传里 下载的话速度极快 https c t work s fe0b4a22171342 我买这个板子已经很久了 跟着野火正点原子的教程踉踉跄跄学了一段儿 对很多基础知识也是一知半解
  • QT基础学习(12)---事件过滤

    文章目录 事件过滤 一 事件过滤 实现该功能的方法就是在目标部件 自定义的图片显示部件 上注册事件过滤器 此时的事件过滤器就是我们所说的监视对象 完成这些步骤之后 当目标部件有事件产生后 首先会传递给监视对象 事件过滤器 进行处理而不是该事
  • 嵌入式学习:stm32学习路线推荐之思维导图

    从9月1日开始学习STM32后 对于STM32的一些个人总结 1 对于STM32和51的区别 对于 STM32来说 基本的大概都和51单片的内容相似 但是由于STM的引脚和寄存器的数量较多 所以需要一个更加完善的管理机制 导致了 时钟 的产
  • STM32的CAN过滤器

    最近开始给足底压力设备加外设 这里外设个主设备之间通过can总线连接 之前使用过can总线 但是对can的过滤器不是很理解 所以这里就借机整理一下 原文地址 再谈STM32的CAN过滤器 bxCAN的过滤器的4种工作模式以及使用方法总结 S
  • FPGA硬件工程师Verilog面试题(基础篇二)

    作者简介 大家好我是 嵌入式基地 是一名嵌入式工程师 希望一起努力 一起进步 个人主页 嵌入式基地 系列专栏 FPGA Verilog 习题专栏 微信公众号 嵌入式基地 FPGA硬件工程师Verilog面试题 二 习题一 多功能数据处理器
  • 树莓派体验3 - SSH登录树莓派

    如果没有HDMI转接线 显示器 USB转TTL串口线 那么可以通过网络SSH远程登录的方式访问树莓派 无显示器使用SSH访问 开启SSH服务 首先 通过镜像版本号确认一下SSH是否默认开启 树莓派官网的release note中说明 201
  • stm32USB之模拟U盘

    STMF0 W25Q32模拟U盘 1 第一次写博客 如有错误 请及时指正 如有表达不通顺的地方 敬请谅解 2 本篇文章主要描述如何使用STM32cube配置USB 使用的主控为STM32F072 Flash为W25Q32 使用的主控RAM只
  • firmware-mod-kit工具安装和使用说明

    一 firmware mod kit工具的安装 firmware mod kit工具的功能和binwalk工具的类似 其实firmware mod kit工具在功能上有调用binwalk工具提供的功能以及其他的固件解包工具的整合 下载fir
  • 基于STM32F4单片机对步进电机的控制(有代码)

    步进电机简介 步进电机是将电脉冲控制信号转变为角位移或线位移的一种常用的数字控制执行元件 又称为脉冲电机 在驱动电源的作用下 步进电机受到脉冲的控制 其转子的角位移量和速度严格地与输入脉冲的数量和脉冲频率成正比 步进电机每接收一个电脉冲 转
  • 按键的短按和长按检测

    方法一 常用的加延时函数 在中断服务函数中加一个比如10ms的延时函数 延时时间的长短取决于实际所用的按键特性 只要延时时间比抖动时间略大即可 原理很简单 加了延时就避开了抖动的这段时间 在延时之后判断引脚电平 如果为低电平就表示是按下 v
  • LWIP在STM32上的移植

    本文做记录摘抄 加上自己的体会 文章标题 STM32使用LWIP实现DHCP客户端 http www cnblogs com dengxiaojun p 4379545 html 该文章介绍了几点 LWIP源码的内容 关键点 1 inclu
  • 解决Keil调试模式下无法设置断点的问题

    问题描述 使用Keil打开工程文件 进入调试模式后 只有main c文件里面可以设置断点 其余文件都不可以设置断点 可能的原因及解决方案 原因1 工程路径包含中文 解决方案1 更换为全英文路径 原因2 工程没有全部Rebuild 解决方案2
  • 树莓派4B安装详细教程,从零开始!

    树莓派4B安装详细教程 从零开始 前言 一 准备材料 1 硬件材料 2 软件材料 二 安装步骤 1 格式化SD卡 2 安装系统 三 安装完成 前言 提示 本文详细介绍树莓派4B的安装流程 适合刚入手树莓派的同学 认为我写的好的同学希望点赞关
  • 步进电机基础(5.6)-步进电机的驱动与控制-闭环控制

    步进电机基础 5 6 步进电机的驱动与控制 闭环控制 前言 基本信息 前言说明 5 6 闭环控制 前言 基本信息 名称 描述说明 教材名称 步进电机应用技术 作者 坂本正文 译者 王自强 前言说明 根据我读的 步进电机应用技术 这本书 进行
  • 毕业设计 STM32人体红外测温枪温度采集系统 - 单片机

    文章目录 1 前言 2 主要器件 3 实现效果 4 设计原理 MLX90614 红外温度传感器 5 部分实现代码 6 最后 1 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求
  • STM32F103C8移植uCOSIII(HAL库)

    少年 一 随笔 二 uCOSIII源码 三 项目导入文件整理 四 导入文件和增加头函数路径 五 代码改动 六 参考资料 一 随笔 移植一个嵌入式系统用了一天时间 只能说不愧是我 在不了解的情况下还是少一些自己的操作 自己挖坑埋自己 记录一下
  • 面经——小米面经(2021春招)

    摘自 小米面经 2021春招 感谢小米 感谢雷总 感谢上官可编程 作者 阿波罗啦啦啦啦 发布时间 2021 05 01 11 08 41 网址 https blog csdn net weixin 44933419 article deta
  • FreeRTOS中断管理

    目录 说明 一 中断基础 1 1 中断理解 1 2 中断执行步骤 1 3 中断寄存器选择位 1 4 中断优先级分类 二 中断优先级分组设置 2 1 分类 2 2 特点 三 中断有关寄存器 3 1 SHPR1寄存器 3 2 SHPR2寄存器
  • 锂电池管理系统(BMS)

    引言 在现代科技的推动下 锂电池已经成为各种电动设备和能源存储系统的首选能源媒介 然而 锂电池在充电和放电过程中存在一系列潜在的安全隐患 同时其性能和寿命也受到一些限制 为了解决这些问题 锂电池管理系统 BMS 应运而生 BMS不仅仅是一个

随机推荐

  • 【Proteus仿真】【STM32单片机】智能手环

    文章目录 一 功能简介 二 软件设计 三 实验现象 联系作者 一 功能简介 系统运行后 OLED显示温度 心率 加速度极其阈值 可按下K3键进入阈值设置模式 K1和K2调节对应阈值 K4确定 当检测体温 心率 加速度超出阈值范围 则蜂鸣器报
  • vim常用命令总结(ideavim)

    vim常用命令总结 ideavim vim常用命令总结ideavim 插入命令 删除命令 复制命令 选中命令 光标移动 功能命令 标记命令 1 插入命令 i 命令可以在当前光标之前插入文本 I 命令可以在当前行首插入文本 a 命令可以在当前
  • sudo 命令无法使用

    1 不能使用sudo命令解决方法 想查看这个用户可以使用哪些sudo命令 输入正确密码却不能查看 原因就是在 etc sudoers中未添加该用户 xm oracle sudo l sudo password for xm Sorry us
  • adb 读取短信,通话记录、日历、通讯录等的方法

    读取手机短信 adb shell content query uri content sms 这将列出所有短信消息的详细信息 例如短信内容 发送者和接收者的电话号码 时间戳等 读取手机通话记录 adb shell content query
  • MainWindow 简介

    致介绍了 Qt 各个模块的相关内容 目的是对 Qt 框架有一个高屋建瓴般的了解 从现在开始 我们将开始尝试使用 Qt 开始新的历程 由于我们已经比较详细地介绍过信号槽的相关内容 因此我们可以用一个新的程序开始进一步的学习 同时对信号槽有一个
  • 【Unity3D小功能】Unity3D中实现Text显示版本功能

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好 我是佛系工程师 恬静的小魔龙 不定时更新Unity开发技巧 觉得有用记得一键三连哦 一 前言 在项目开发中 会遇到要控制版本的情况 比如说
  • Excel只能做表格?那是你不会用!10分钟做出高大上可视化图

    点击进入看图评论 很多公司都要求员工熟练的掌握Excel But 绝大多数人所谓的熟练使用Excel 估计也只会一些简单的表格和知道加减乘除 求和吧 再难一点 估计就真的把自己难倒了 讲真 Excel还是很牛的 只是你不会 话不多说 今天就
  • 解决Hbuilder打包的app返回键直接退出

    问题描述 Hbuilder打包的app如果点击手机返回键 app会直接退出 返回不了上一页 处理子页面点击返回键直接退出 无法返回 代码如下 这个不是写在首页 写在子页面 子页面才能返回 写在首页点击返回就是退出 不用引入mui js 都是
  • stc51单片机串口接收多字节数据

    stc51单片机串口接收多字节数据 简介 51单片机有2个定时器 一个做串口波特率 一个做数据截止帧延时检测 硬件平台测试使用的是stc8的单片机 但是可以往51移植 代码 include stc8 h unsigned char flag
  • 字典序排数相关算法

    记录两道与数字的字典序排数相关的题目 字节常考 把数字的字典序画出来看看马上就明白了 class Solution public List
  • 企业——企业架构的基本数据流向

    一 数据流向 1 基本的数据流向 client gt server 直接由客户端流向服务端 在实际生产环境中因为访问量大 服务器承受不了压力 因此基本不会使用 2 企业架构的数据流向 企业采用分布式的数据流向 cdn 缓存加速reverse
  • STM32中断定时,控制LED灯

    1 include led h 2 3 void TIM3 Int Init u16 arr u16 psc 4 5 TIM TimeBaseInitTypeDef TIM TimeBaseStructure 6 NVIC InitType
  • redis 由浅入深之 数据结构

    Redis 缓存数据所支持的数据结构如下 一 字符串 字符串 string是最简单的类型 你可以理解成与Memcached一模一样的类型 一个key对应一个value 其上支持的操作 与Memcache的操作类似 但它的功能更丰富 字符串指
  • JavaScript特殊的对象1:数组

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 为什么说数组是特殊的 对象 因为数组可以通过构造函数Array 创建 它的原型同样也是Array prototype 它的对象类型时Array 它具有自身属性lengt
  • Android App 性能优化之图片优化

    接下来说明一下关于其他内存问题 图片问题 作为一个优秀的Android开发者 在图片的类型选择 图片显示前的处理都是要好好考虑的 因为不同类型图片在Android中的显示代价是不同的 使用不同显示方式代价也是不同的 首先看一下图片类型png
  • compressor/limiter/expander/noisegate相关总结

    一 简介 在学习音频数字信号处理的DRC Dynamic Range Control 时 遇到几个概念 分别是compressor limiter expander noisegate 本篇文章谈一谈我对这些模块的理解 二 Compress
  • Mysql5.5下载安装

    1 下载安装mysql压缩包 解压 双击安装包参考地址 https dev mysql com downloads mysql 这里选择的是5 5的版本
  • 给你安利一款国产良心软件uTools

    前言 大家好 我是xiezhr 最近由于换了新电脑 也是在各种折腾搭建开发环境 安装各种常用软件 今天呢给大家安利一款你可能没用过的国产良心软件uTools 这也是我刚刚拿到电脑后安装的第一款软件吧 第一次知道这软件是在B站刷程序员鱼皮up
  • H.264(H264)视频文件的制作

    一 准备工作 1 下载并安装优酷客户端 2 下载ffmpeg可执行文件 解压可用 不需要下载源码自己编译 ffmpeg可执行文件下载链接 http download csdn net detail caoshangpa 9492758 二
  • GD32基本定时器的定时周期计算

    GD32基本定时器的定时周期计算 一 基本定时器原理结构框图 TIMER5 基本功能流程描述 基本定时器仅有一个时钟源TIMER CK 用来驱动计数器预分频器 当CEN 计数器使能 置位 TIMER CK经过预分频器 预分频值由TIMERx