蓝桥杯物联网竞赛_STM32L071KBU6_关于TIM的新理解

最近在复习kbu6的模块,其中关于定时器的记忆比较模糊,再来强化强化

仔细看了看相关HAL库代码果然有一些额外的收获

对定时器tim7:

这个定时器还是比较准的,其调用方法如下:

HAL_TIM_Base_Start_IT(&htim7);

从上述代码中不难发现其特点即: 基本中断定时器

其回调函数:

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);

即Elapsed经过,Period一段时间,即总体为:经过一段时间回调


对于TIM3这个定时器用于输入捕获:

启动函数:

HAL_TIM_IC_Start_IT(&htim3, TIM_CHANNEL_3);

IC即INPUT CAPTURE,输入捕获,名字是中断输入捕获,其中通道特别强调了是定时器里的通道3,即TIM就是在定时器里的,而不是HAL里的

目前理解是HAL里的函数大部分是实现框架,这个框架可以供多个对象使用

回调函数:

void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)

回调函数当然也叫输入捕获回调函数

HAL_TIM_ReadCapturedValue(&htim3, TIM_CHANNEL_3)

这个函数是定时器里,读取捕获数值的函数,函数名字和效果是相匹配的,其读取的就是定时器通道3的数值

__HAL_TIM_SET_CAPTUREPOLARITY(&htim3, TIM_CHANNEL_3, TIM_ICPOLARITY_FALLING);

这个函数就比较特别了,它为定时器里设置捕获极性的函数,POLARITY是极性的意思,后面设置极性特别强调是设置定时器里输入捕获下降极性,因为定时器里还有输出捕获极性,所以一定是要强调输入捕获极性的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/14650.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决 Redis 击穿问题之黑名单

以商品列表为例: 主要思想: /* 1.先查黑名单是否存在当前商品,如果有就抛出异常 2.检查redis里面是否有该商品,如果有就直接返回, 3.如果没有就查询数据库,将数据缓存到redis 4.判断数据库中是否有该商品&…

哪个网盘最适合个人文件长期储存?用派盘最好

派盘是一款面向个人和企业的本地云存储解决方案,专为长期文件存储而设计。这种存储方式利用了本地硬盘的存储容量,通过“云化”的方式,可以将本地硬盘变成云存储空间。它具有强大的数据保护功能,确保了数据的私密性和安全性。 派盘的主要特点 高效的存取速度:由于使用本地…

这种电脑原来这么耗电……震惊了粉丝小姐姐

前言 在今年1月份的时候,一位来自重庆的小姐姐加了小白,咨询电脑的问题: 哦豁,这个电脑看着确实闪闪发光,是真的很漂亮~(嗯,小姐姐也很漂亮) 电脑无法开机,按…

什么是流量削峰?如何解决秒杀等业务的削峰场景

文章推荐 1 作为程序员,开发用过最好用的AI工具有哪些? 2 Github Copilot正版的激活成功,终于可以chat了 3 idea,pycharm等的ai assistant已成功激活 4 新手如何拿捏 Github Copilot AI助手,帮助你提高写代码效率 5 Jetbrains的a…

【Python设计模式02】设计原则

1.单一职责原则 单一职责原则(Single Responsibility Principle, SRP)是面向对象编程中SOLID原则的第一个原则。它强调每个类应该只有一个引起变化的原因,即一个类只负责一项职责。这一原则有助于提高代码的可维护性、可读性和可复用性。 单…

mysql锁表查看

命令 : show full processlist;//显示哪些线程正在运行

数字驱动,教育先行——低代码揭秘教育机构管理数字化转型

数字化时代为教育带来了许多变革和挑战,同时也为教育创新提供了无限可能。数字化转型可以帮助教育机构应对这些变革和挑战,提高教育效率和质量,满足学生个性化需求,优化教育管理和服务,并提高教育机构的竞争力。 并且…

docker 安装 yapi

文章目录 docker 安装 yapi一、拉取镜像二、创建目录三、添加配置文件四、初始化数据库表五、启动 yapi六、测试以及修改默认密码 没有 MongDB 的可以先看这个教程:MongDB安装教程 docker 安装 yapi 版本: 1.9.5 一、拉取镜像 docker pull yapipro/y…

以及Spring中为什么会出现IOC容器?@Autowired和@Resource注解?

以及Spring中为什么会出现IOC容器?Autowired和Resource注解? IOC容器发展史 没有IOC容器之前 首先说一下在Spring之前,我们的程序里面是没有IOC容器的,这个时候我们如果想要得到一个事先已经定义的对象该怎么得到呢?…

Flutter 中的 AnimatedSwitcher 小部件:全面指南

Flutter 中的 AnimatedSwitcher 小部件:全面指南 在 Flutter 中,动画是增强用户体验的重要工具。AnimatedSwitcher 是一个用于在两个 widget 之间执行平滑过渡动画的小部件。它可以自动处理两个状态之间的转换,提供丰富的动画效果。本文将详…

小白如何从零开始学新媒体运营三

最近有好多宝子私信问我是在哪里学习运营方面的相关知识的,那今天我就给大家整理了8个口碑较好的新媒体运营课程自学网站,帮大家快速入门新媒体运营. 1、考拉新媒体导航 实时热点、排版工具、运营干货、在线作图、高清图库、协作工具、数据平台&#xf…

三元组的最短距离

前言 个人小记 一、简介 定义三元组(a,b, c)(a,b,c 均为正数)的距离 D|a-b||b-c||c-a|。给定 3 个非空整数集合 S1, S2 ,S3, 按升序分别存储在 3 个数组中。请设计一个尽可能高效的算法,计算并输出所有可能的三元组&…

131. 面试中关于架构设计都需要了解哪些内容?

文章目录 一、社区系统架构组件概览1. 系统拆分2. CDN、Nginx静态缓存、JVM本地缓存3. Redis缓存4. MQ5. 分库分表6. 读写分离7. ElasticSearch 二、商城系统-亿级商品如何存储三、对账系统-分布式事务一致性四、统计系统-海量计数六、系统设计 - 微软1、需求收集2、顶层设计3、…

【Django】从零开始学Django(持续更新中)

PyCharm的版本必须为专业版,社区版不具备Web开发功能的。 一. Django建站基础 Django采用MTV的框架模式,即模型(Model)、模板(Template)和视图(Views),三者之间各自负责不同的职责。 ●模型:数据存取层,处理与数据相关…

【网络】cookie

cookie 的组成 cookie是浏览器中特有的一个概念,它就像浏览器的专属卡包,管理着各个网站的身份信息。 每个cookie就相当于是属于某个网站的一个卡片,它记录了下面的信息: key: 键,比如「身份编号」value: 值&#x…

vivado Miscellaneous Net-Related Constraints

Miscellaneous Net-Related Constraints KEEP Applied To Nets Constraint Values • TRUE • FALSE UCF Example net x_int KEEP TRUE; XDC Example set_property DONT_TOUCH true [get_nets x_int] SAVE NET FLAG Applied To Nets Constraint Values N/A …

Element-UI快速入门指南

一、引言 在前端开发领域,Vue.js以其简洁的API和灵活的组件系统受到了广泛的欢迎。Element-UI则是一套基于Vue.js 2.0的桌面端组件库,它提供了丰富的组件和友好的API,帮助开发者快速构建出美观且功能强大的Web应用。本文将带你快速入门Eleme…

信号:MSK调制和GMSK调制

目录 一、MSK信号 1. MSK信号的第k个码元 2.MSK信号的频率间隔 3.MSK信号的相位连续性 3.1 相位路径 3.2初始相位ψk 4.MSK信号的产生 原理框图 5.MSK信号的频谱图 二、高斯最小频移键控(GMSK) 1.频率响应 2.GMSK调制产生方式 2.1 高斯滤波器法 2.2 正交调制器法…

海外私人IP和原生IP有什么区别,谁更有优势?

一、什么是海外私人IP?什么是原生IP? 1、海外私人IP: 海外私人IP是由专门的服务提供商提供的IP地址,这些IP地址通常与特定地理位置或国家相关联。这些IP地址独享私人而不用与其他用户共享。海外私人IP广泛应用与跨境电商中&#x…

【Qt】修改QToolButton图标颜色

1. 目的 修改QToolButton的图标颜色,单一颜色,效果类似于Qt Creator左边选项卡。 2. 代码 QIcon MainWindow::setIconColor(QIcon icon, QColor color) {QPixmap pixmap icon.pixmap(QSize(64,64));QPainter painter(&pixmap);painter.setCompo…