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

学习CubeIDE——定时器开发

在b站上学习洋桃电子关于HAL库开发,发现使用CubeIDE是真的简单又方便。

实验现象:使用定时器来产生中断,中断程序是LED灯翻转

在我看来,定时器,是一个从0开始增1(常规),增加到一定值就产生中断。其中,有两个参数需要我们来设置,一个是这个“一定值”,即重装值(Counter Period);一个是每次增1所用的时间,这个时间是由定时器时钟(Timer Clock)和定时器分频(Prescaler) 计算出来的。

1、ioc设置

首先,先用CubeIDE自带的CubeMX来设置XX.ioc。

(1)在“Pinout & Configuration”中点击Timers——>TIM2。

(2)选择时钟源内部时钟。打开“Clock Configuration”可以看到定时器时钟有两个,分别在APB1和APB2总线上。因为我们使用的TIM2通用定时器(看手册),所以定时器等于APB时钟:PCLK1 = 8MHz。

定时器分类
类型使用编号总线
基本定时器TIM6、TIM7APB1
通用定时器

TIM2、TIM3

TIM4、TIM5

APB1
高级定时器TIM1、TIM8APB2

 (3)设置分频系数,因为定时器时钟为8MHz,每秒振8KK次,次数太多了反而使每次振的时间特别短。所以我们将它分频,这里设置分频=9999。8kk / (9999+1) = 800。即一秒振800次。

(4)设置“一定值”=799。定时器从0计数到799,用时1s。计数完毕后产生中断。

2、程序

ios配置完毕后,可以在 main 函数里看到,TIM2_Init 初始化已经完成,并且生成句柄 htim2。

句柄

 (1)在初始化后面开启TIM时基单元。

 

 (2)在main函数前写定时器中断函数。

没了。 

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

相关文章:

  • 【Elasticsearch】-图片向量化存储
  • 二叉树(一)高度与深度
  • 梧桐数据库(WuTongDB):MySQL 优化器简介
  • 交通运输部力推高速公路监测,做好结构安全预警,保护人民安全
  • 基于PHP+MySQL组合开发的在线客服源码系统 聊天记录实时保存 带完整的安装代码包以及搭建部署教程
  • NEXT.js 创建postgres数据库-关联github项目-连接数据库-在项目初始化数据库的数据
  • Matlab如何配置小波工具(Wavelet Toolbox)
  • FTP、SFTP安装,整合Springboot教程
  • 24年蓝桥杯及攻防世界赛题-MISC-3
  • 阿里云容器服务Kubernetes部署新服务
  • 记录生产环境,通过域名访问的图片展示不全,通过ip+端口的方式访问图片是完整的
  • 网络安全实训八(y0usef靶机渗透实例)
  • QT信号槽原理是什么,如何去使用它?
  • mybatisplus介绍以及使用(上)
  • maxwell 输出消息到 redis
  • infoNCE损失和互信息的关系
  • Java学习路线指南
  • 在SpringCloud中实现服务间链路追踪
  • [数据集][目标检测]红外微小目标无人机直升机飞机飞鸟检测数据集VOC+YOLO格式7559张4类别
  • TS Vue项目中使用TypeScript
  • 打工人、设计师必备的AI抠图工具
  • MyBatis中一对多关系的两种处理方法
  • 视频美颜SDK与直播美颜工具的实现原理与优化方案
  • Linux 安装JDK8和卸载
  • javascript 浏览器打印不同页面设置方向,横向纵向打印
  • Maven 的多种打jar包方式详细介绍、区别及使用教程——附使用命令
  • 计算机毕业设计 基于协同过滤算法的个性化音乐推荐系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
  • Arthas 全攻略:让调试变得简单
  • icpc江西:L. campus(dij最短路)
  • 日志收集工具 Fluentd vs Fluent Bit 的区别