江协科技STM32学习- P14 示例程序(定时器定时中断和定时器外部时钟)

news/2024/9/20 7:42:17 标签: stm32, 江科大stm32

    🚀write in front🚀  
🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 

💬本系列哔哩哔哩江科大STM32的视频为主以及自己的总结梳理📚 

🚀Projeet source code🚀   

💾工程代码放在了本人的Gitee仓库:iPickCan (iPickCan) - Gitee.com

引用:

STM32入门教程-2023版 细致讲解 中文字幕_哔哩哔哩_bilibili

Keil5 MDK版 下载与安装教程(STM32单片机编程软件)_mdk528-CSDN博客

STM32之Keil5 MDK的安装与下载_keil5下载程序到单片机stm32-CSDN博客

0. 江协科技/江科大-STM32入门教程-各章节详细笔记-查阅传送门-STM32标准库开发_江协科技stm32笔记-CSDN博客

江科大STM32学习笔记(上)_stm32博客-CSDN博客

STM32学习笔记一(基于标准库学习)_电平输出推免-CSDN博客

术语:

英文缩写描述
GPIO:General Purpose Input Onuput通用输入输出
AFIO:Alternate Function Input Output复用输入输出
AO:Analog Output模拟输出
DO:Digital Output数字输出

正文:

0. 概述

从 2024/06/12 定下计划开始学习下江协科技STM32课程,接下来将会按照哔站上江协科技STM32的教学视频来学习入门STM32 开发,本文是视频教程 P2 STM32简介一讲的笔记。


定时器共四个部分,分为八个小节笔记。本小节为第一部分第一节。

🌳在第一部分,是定时器的基本定时的功能:定时中断功能、内外时钟源选择

🌳在第二部分,是定时器的输出比较功能,最常见的用途是产生PWM波形,用于驱动电机等设备

🌳在第三部分,是定时器的输入捕获功能和主从触发模式,来实现测量方波频率

🌳在第四部分,是定时器的编码器接口,能够更加方便读取正交编码器的输出波形,编码电机测速


🌵知识点get:

滤波器工作原理:可以滤掉信号的抖动干扰。在一个固定的时钟频率f下进行采样,如果连续N个采样点都为相同的电平,那就代表输入信号稳定了,就把这个采样值输出出去;如果这N个采样值不全都相同,那就说明信号有抖动,这时就保持上一次的输出,或者直接输出低电平也行,这样就能保证输出信号在一定程度上的滤波;这里的采样频率f和采样点数N都是滤波器的参数,频率越低,采样点数越多,滤波效果越好,不过相应的信号延迟就越大;采样频率f由内部时钟直接而来,也可以是由内部时钟加一个时钟分频而来,这个分频多少是由参数ClockDivision决定的,这个参数其实跟时基单元关系并不大,它的可选值可以选择1分频(也就是不分频),2分频和4分频

1.🔎定时中断和时钟源选择相关库函数使用 

定时器相关的库函数非常多,本节仅对将要使用的库函数和 亿些使用细节 进行说明(即使这样也还是很多)。

定时中断基本结构如下,便于理解下面的库函数及程序流程

 定时器初始化步骤如下,对应定时中断结构图

🌾第一步,RCC开启时钟,定时器的基准时钟和整个外设的工作时钟就都打开了
🌾第二步,选择时基单元的时钟源,对于定时中断就选择内部时钟源
🌾第三步,配置时基单元,包括预分频器、自动重装载器、计数模式等,参数用结构体配置
🌾第四步,配置输出中断控制,允许更新中断输出到NVIC
🌾第五步,配置NVIC,在NVIC中打开定时器中断通道并分配一个优先级
🌾第六步,运行控制,使能计数器,当定时器使能后,计数器就开始计数了,当计数器更新时,触发中断
🌾最后再写一个中断函数,中断函数每隔一段时间就能自动执行一次

 


 2.🔎定时器TIM的库函数

  • 基本配置、时基单元、中断输出控制、NVIC、运行控制函数


http://www.niftyadmin.cn/n/5666834.html

相关文章

卡车配置一键启动无钥匙进入手机控车

‌ 卡车智能一键启动无钥匙进入手机控车,通过手机应用程序与汽车内置硬件、软件的无线通信,实现对汽车的远程控制‌。 卡车改装一键启动的步骤包括安装门把手的感应装置、拆卸仪表台和门板,取出内部的待接线束,并将一键启动…

spring与springmvc整合

文章目录 spring与springmvc整合重复创建bean容器关系获取spring容器上下文 spring与springmvc整合 在项目中使用springmvc的时候,由于spring和springmvc是同源的,有时候大家会把所有的配置都扔到springmvc的配置文件中,而不去区分spring和s…

电气自动化入门03:安全用电

视频链接:2.1 电工知识:触电原因与防触电措施_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1PJ41117PW/?p4&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.电流对人体的危害 电击:电流通过人体。 电伤:电流热效应…

C++中move和forword的区别

首先说结论: move用于将一个对象的资源所有权从一个对象转移到另一个对象,以避免不必要的复制。它是一种类型转换,表示你希望将一个对象视为一个右值,从而可以被“移动”而不是“复制”。 forward用于完美转发模板参数。它确保在将…

使用NumPy进行矩阵运算:编写高效的Python函数

使用NumPy进行矩阵运算:编写高效的Python函数 在数据科学、机器学习和科学计算领域,矩阵运算是非常常见的操作。NumPy是Python中最流行的科学计算库之一,提供了强大的矩阵运算功能。本文将详细介绍如何使用NumPy编写一个高效的矩阵运算函数,并展示一些常见的矩阵运算操作。…

问:说说notify()和notifyAll()有什么区别?

notify() 和 notifyAll() 是 Java 中用于线程间通信的方法,这两个方法都用于唤醒正在等待 (wait()) 的线程。然而,它们在工作方式和应用场景上有一些重要的区别。 notify() vs notifyAll() notify(): 唤醒一个正在等待 (wait()) 的线程。如果有多个线程…

使用Python-pptx轻松搜索和替换PPT中的文本

哈喽,大家好,我是木头左! 本文将详细介绍如何使用Python-pptx来搜索并替换PPT文档中的特定文本。 安装Python-pptx库 确保你已经安装了Python-pptx库。如果没有,可以通过以下命令进行安装: pip install python-pptx导入所需模块 在开始编写代码之前,需要导入Python-p…

苹果CMS插件:优化蜘蛛访问内容,提升百度收录率

确保蜘蛛抓取原始内容 专为苹果CMS设计的广告管理插件,能够智能识别搜索引擎蜘蛛与普通访客,确保蜘蛛访问时展示原始内容,从而提升被百度等搜索引擎收录的几率。 广告显示提升收益 对于普通访客,该插件则优先显示广告内容&#…