STM32 (4)PWM驱动LED呼吸灯

发布时间:2026/10/25 19:30:08

STM32 (4)PWM驱动LED呼吸灯 文章目录1.PWM基本结构2.函数代码1.PWM基本结构蓝线CNT黄线ARR红线CCR1.RCC开启 时钟2.选择内部时钟源TIM_InternalClockConfig()3.配置时基单元——预分频器、自动重装器、计数模式等TIM_TimeBaseInit()4.配置输出比较单元TIM_OC1Init()TIM_OC2Init()TIM_OC3Init()TIM_OC4Init()5.配置GPIO6.运行控制配置完需要使能计数器TIM_Cmd()2.函数TIM_OC1Init()TIM_OC2Init()TIM_OC3Init()TIM_OC4Init()输出比较函数一个函数配置一个单元TIM_OCStructInit()给输出比较函数赋默认值TIM_ForcedOC1Config()1-44个函数用来配置强制输出模式的高or低电平TIM_CCxCmd()TIM_CCxNCmd()单独已修改输出使能参数TIM_SelectOCxM()选择输出比较模式TIM_SetCompare1()1-4。单独用来更改CCR寄存器值的函数重点输出比较模式CCR只写所以用TIM_SetCompare代码里面三个数字部分就是根据上面的公式求代码根据上一章的代码进行一部分修改#includestm32f10x.h// Device headervoidPWM_Init(void){RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);//TIM2在APB1总线上RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_ModeGPIO_Mode_AF_PP;//复用推挽输出把控制权交给片上外设PWM波形才能通过引脚输出GPIO_InitStructure.GPIO_PinGPIO_Pin_0;GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz;GPIO_Init(GPIOA,GPIO_InitStructure);TIM_InternalClockConfig(TIM2);TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;TIM_TimeBaseInitStructure.TIM_ClockDivisionTIM_CKD_DIV1;//分频模式TIM_TimeBaseInitStructure.TIM_CounterModeTIM_CounterMode_Up;//计数模式TIM_TimeBaseInitStructure.TIM_Period100-1;//周期ARR自动重装器的值.定时频率72M/(PSC1)/(ARR1)TIM_TimeBaseInitStructure.TIM_Prescaler720-1;//预分频器(PSC)的值TIM_TimeBaseInitStructure.TIM_RepetitionCounter0;//重复计算器的值这是高级才用直接给0TIM_TimeBaseInit(TIM2,TIM_TimeBaseInitStructure);TIM_OCInitTypeDef TIM_OC1InitStructure;TIM_OCStructInit(TIM_OC1InitStructure);//先赋初始值再修改想修改的参数TIM_OC1InitStructure.TIM_OCModeTIM_OCMode_PWM1;//设置输出比较模式TIM_OC1InitStructure.TIM_OCPolarityTIM_OCPolarity_High;//设置输出比较极性TIM_OC1InitStructure.TIM_OutputStateTIM_OutputState_Enable;//设置输出使能TIM_OC1InitStructure.TIM_Pulse50;//设置CCRTIM_OC1Init(TIM2,TIM_OC1InitStructure);TIM_Cmd(TIM2,ENABLE);}voidPWM_SetCompare1(uint16_tCompare){TIM_SetCompare1(TIM2,Compare);}主函数部分uint8_ti;intmain(void){OLED_Init();PWM_Init();while(1){for(i0;i100;i){PWM_SetCompare1(i);Delay_ms(10);}for(i0;i100;i){PWM_SetCompare1(100-i);Delay_ms(10);}}}
延伸阅读

更多相关文章

2026/10/25 19:26:08

【C++进阶】:(3)二叉搜索树原理、实现与应用

前言 普通二叉树更多描述的是一种“节点最多拥有两个孩子”的组织结构,但它本身并没有规定节点之间应该按照什么规则排列。 **二叉搜索树(Binary Search Tree,BST)**则在二叉树的基础上增加了一套明确的排序规则,使得…

2026/10/22 10:38:33

FFmpeg的安装及使用全流程

FFmpeg官网: Download FFmpeg 下载一步到位:(复制到迅雷下载速度较快)https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-9.0.1-essentials_build.zip 选择Windows,,按下列依次操作: 页面跳…

2026/10/25 19:30:01

AI+智慧银行解决方案:四层架构与Python落地原型

简介:这份PPT方案面向银行、金融科技从业者及数字化转型决策者,系统梳理人工智能在智慧金融与智慧银行中的落地路径,覆盖智能客服、AI营销、客户画像、自动化处理、实时质检、数据分析与业务全覆盖等核心场景,帮助读者理解AI如何重…

2026/10/25 19:30:01

量子LSTM实战:门控机制映射到参数化量子电路的工程实现

简介:qlstm 示例包含一套完整的量子 LSTM(长短期记忆网络)实验代码,面向希望入门量子机器学习或对比量子/经典循环网络的算法研究者与学生。压缩包内提供基于 PennyLane 的量子 LSTM 模型、基于 PyTorch 的经典 LSTM 对比实现&…

2026/10/25 19:30:01

X-Router:自演进模型路由让Agent成本直降50%

最近在整理 Agent 应用的账单时,我发现一个很有意思的现象:真正让成本失控的,往往不是清单上最贵的那几个大模型调用,而是那些明明一句话就能答完、却非要去“大模型”上跑一遍的长尾请求。所以当我看到 openJiuwen 团队开源的 X-…

2026/10/25 19:30:01

LLM面试8个高频问题:从Transformer到Agent的实战解析

1. 为什么这8个问题能决定面试生死面过几十个LLM方向的候选人之后,我越来越确信一件事:面试官问的那些问题,表面上考的是知识点,实际上考的是你有没有真正动手做过东西。背八股文的人能把Transformer的公式默写出来,但…

2026/10/25 19:30:01

大模型行业核心岗位解析与技术栈指南

1. 大模型行业岗位全景解析2023年被称为大模型技术爆发元年,全球科技巨头和初创企业纷纷布局这一领域。根据领英最新数据,大模型相关岗位年增长率达到317%,平均薪资较传统AI岗位高出45%。这个快速扩张的赛道正在形成完整的职业矩阵&#xff0…

2026/10/25 19:25:00

Hadoop工业大数据分析实战与优化指南

1. Hadoop工业数据分析实战全景解析当某重型机械制造厂的传感器数据从每月3TB暴涨到80TB时,他们的传统数据库系统彻底崩溃了。这正是我们团队引入Hadoop生态体系的契机——通过构建分布式数据湖,不仅消化了海量工业设备日志,更实现了故障预测…

2026/10/25 0:02:22

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/25 0:02:23

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/25 0:02:23

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/25 0:02:22

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/25 0:02:23

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/25 0:02:23

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑