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

江协科技STM32学习- P16 实验-TIM输出比较(PWD驱动LED呼吸灯,舵机,直流电机)

     🚀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博客

STM32 MCU学习资源-CSDN博客

术语:

英文缩写描述
GPIO:General Purpose Input Onuput通用输入输出
AFIO:Alternate Function Input Output复用输入输出
AO:Analog Output模拟输出
DO:Digital Output数字输出
内部时钟源 CK_INT:Clock Internal内部时钟源
外部时钟源 ETR:External clock 时钟源 External clock 
外部时钟源 ETR:External clock mode 1外部时钟源 Extern Input pin 时钟模式1
外部时钟源 ETR:External clock mode 2外部时钟源 Extern Trigger 时钟模式2
外部时钟源 ITRx:Internal trigger inputs外部时钟源,ITRx (Internal trigger inputs)内部触发输入
外部时钟源 TIx:external input pin 外部时钟源 TIx (external input pin)外部输入引脚
CCR:Capture/Comapre Register捕获/比较寄存器
OC:Output Compare输出比较
IC:Input Capture输入捕获

正文:

0. 概述

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


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

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

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

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

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


1. 🚢TIM定时器输出比较功能实现PWM

TIM定时器输出比较功能实现PWM,在 PWM_Init() 函数中按照下面的步骤初始化使用到的 TIM定时器外设和GPIO外设。

  • 🌾1.RCC开启时钟,把要用的TIM外设和GPIO外设的时钟打
  • 🌾2.配置时基单元,包括时钟源选择,预分频器,自动重装载器,时基单元就配置好了
  • 🌾3.配置输出比较单元,包括CCR的值,输出比较模式,极性选择,输出使能这些参数
  • 🌾4.初始化GPIO,把PWM的OC输出GPIO引脚配置为复用输出模式
  • 🌾5.运行控制,启动计数器

STM32 Tim定时器库函数 stm32f10x_tim.h 中和定时器比较输出(OC:Outpurt Comapre)功能相关的一些库函数。

void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
void TIM_OC3Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
void TIM_OC4Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);
void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct);
TIM定时器输出比较函数4个输出通道OC1, OC2, OC3, OC4的初始化函数
void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);输出比较函数初始化结构体赋一个默认初始值

2. 🚢实验1,TIM定时器输出比较-PWM驱动LED呼吸灯

实验1,TIM定时器输出比较-PWM驱动LED呼吸灯,STM32开发板面包板器件接线图如下所示

源码


http://www.mrgr.cn/news/33344.html

相关文章:

  • VisionPro - 基础 - 模板匹配技术和在VP中的使用 - PMAlign - PatMax (5)- 非线性模板变形匹配
  • java自动解析apk安装包内容信息
  • 2.个人电脑部署MySQL,傻瓜式教程带你拥有个人金融数据库!
  • fastadmin数据库创建说明文档
  • Unet改进42:添加ACConv2d|使用一维非对称卷积来增强平方卷积核
  • Docker命令全解析:掌握容器化技术的基石
  • 9.22今日错题解析(软考)
  • java sdk下载,解决下载了java但是编译不了
  • 校园美食地图:Spring Boot实现的探索与分享平台
  • 本地电脑基于nginx的https单向认证和双向认证(自制证书+nginx配置)保姆级
  • ccfcsp-202403(1、2、3、4)
  • 初写MySQL四张表:(4/4)
  • 【红动中国-注册_登录安全分析报告】
  • atcoder abc372 启发式合并, dp
  • C++STL六大组件
  • 构建未来企业的理论基石:业务能力建模指南的深度解析与战略实施框架
  • ARPGDemo第二阶段
  • 新手上路:在Windows CPU上安装Anaconda和PyCharm
  • 软件测试分类篇(下)
  • midjourney 网页版收费页面