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

stm32使用通用定时器生成pwm

Driver_TIM5.c
通用定时器的通道1和2可以做时钟源

#include "Driver_TIM5.h"void Driver_TIM5_Init(void)
{/* 1.  开启时钟*//* 1.1 定时器5的时钟 */RCC->APB1ENR |= RCC_APB1ENR_TIM5EN;/* 1.2 GPIO的时钟 PA */RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;/* 2. 设置GPIO的复用推挽输出 PA1 CNF=10 MODE=11*/GPIOA->CRL |= (GPIO_CRL_CNF1_1 | GPIO_CRL_MODE1);GPIOA->CRL &= ~GPIO_CRL_CNF1_0;/* 3. 定时器配置 *//* 3.1 预分频器的配置 */TIM5->PSC = 720 - 1;/* 3.2 自动重装载寄存器的配置 */TIM5->ARR = 100 - 1;/* 3.3 计数器的计数方向 0=向上 1=向下*/TIM5->CR1 &= ~TIM_CR1_DIR;/* 3.4 配置通道2的捕获比较寄存器 */TIM5->CCR2 = 50;/* 3.5 把通道2配置为输出  CCMR1_CC2S=00 */TIM5->CCMR1 &= ~TIM_CCMR1_CC2S;/* 3.6 配置通道的输出比较模式 CCMR1_OC2M=110 */TIM5->CCMR1 |= TIM_CCMR1_OC2M_2;TIM5->CCMR1 |= TIM_CCMR1_OC2M_1;TIM5->CCMR1 &= ~TIM_CCMR1_OC2M_0;/* 3.7 使能通道2  CCER_CC2E=1 */TIM5->CCER |= TIM_CCER_CC2E;/* 3.8 设置通道的极性 0=高电平有效  1=低电平有效 */TIM5->CCER &= ~TIM_CCER_CC2P;//TIM2->DIER |= TIM_DIER_UIE; // 使能更新中断//NVIC_EnableIRQ(TIM2_IRQn); // 使能NVIC中的TIM2中断
}/*void TIM2_IRQHandler(void) {if (TIM2->SR & TIM_SR_UIF) { // 检查更新中断标志位TIM2->SR &= ~TIM_SR_UIF; // 清除更新中断标志位// 在这里处理更新事件,例如刷新LED状态GPIOA->ODR ^= GPIO_ODR_OD5; // 切换LED状态}
}*/void Driver_TIM5_Start(void)
{/* 使能计数器 */TIM5->CR1 |= TIM_CR1_CEN;
}void Driver_TIM5_Stop(void)
{/* 失能计数器 */TIM5->CR1 &= ~TIM_CR1_CEN;
}void Driver_TIM5_SetDutyCycle(uint8_t dutyCycle)
{TIM5->CCR2 = dutyCycle;
}

Driver_TIM5.h

#ifndef __DRIVER_TIM5_H
#define __DRIVER_TIM5_H
#include "stm32f10x.h"void Driver_TIM5_Init(void);void Driver_TIM5_Start(void);void Driver_TIM5_Stop(void);void Driver_TIM5_SetDutyCycle(uint8_t dutyCycle);#endif

相关文章:

stm32使用通用定时器生成pwm

Driver_TIM5.c 通用定时器的通道1和2可以做时钟源 #include "Driver_TIM5.h"void Driver_TIM5_Init(void) {/* 1. 开启时钟*//* 1.1 定时器5的时钟 */RCC->APB1ENR | RCC_APB1ENR_TIM5EN;/* 1.2 GPIO的时钟 PA */RCC->APB2ENR | RCC_APB2ENR_IOPAEN;/* 2. 设…...

老物件线上3D回忆展拓宽了艺术作品的展示空间和时间-深圳华锐视点

在数字技术的浪潮下,3D线上画展为艺术家们开启了一个全新的展示与销售平台。这一创新形式不仅拓宽了艺术作品的展示空间,还为广大观众带来了前所未有的观赏体验。 3D线上画展制作以其独特的互动性,让艺术不再是单一的视觉享受。在这里&#x…...

对于多个表多个字段进行查询、F12查看网页的返回数据帮助开发、数据库的各种查询方式(多对多、多表查询、子查询等)。

对于多个表多个字段进行查询、F12查看网页的返回数据帮助开发、数据库的各种查询方式(多对多、多表查询、子查询等)。 一、 前端界面需要展现多个表的其中几个数据的多表查询。1. 三个表查询其中字段返回:(用一下sql语句&#xff…...

护网HW面试常问——组件中间件框架漏洞(包含流量特征)

apache&iis&nginx中间件解析漏洞 参考我之前的文章:护网HW面试—apache&iis&nginx中间件解析漏洞篇-CSDN博客 log4j2 漏洞原理: 该漏洞主要是由于日志在打印时当遇到${后,以:号作为分割,将表达式内容分割成两部…...

招投标数据采集:为企业决策提供数据支持

在当今数据驱动的时代,招投标信息作为行业竞争情报的重要组成部分,正日益成为企业制定战略决策的关键依据。本文将深入探讨招投标数据采集的重要性,以及它如何为企业决策提供强有力的数据支持,同时揭秘如何高效、精准地获取这些数…...

02:项目二:感应开关盖垃圾桶

感应开关盖垃圾桶 1、PWM开发SG901.1、怎样通过C51单片机输出PWM波?1.2、通过定时器输出PWM波来控制SG90 2、超声波测距模块的使用3、感应开关盖垃圾桶 需要材料: 1、SG90舵机模块 2、HC-SR04超声波模块 3、震动传感器 4、蜂鸣器 5、若干杜邦线 1、PWM开…...

eNsp公司管理的网络NAT策略搭建

实验拓扑图 实验需求: 7,办公区设备可以通过电信链路和移动链路上网(多对多的NAT,并且需要保留一个公网IP不能用来转换) 8,分公司设备可以通过总公司的移动链路和电信链路访问到Dmz区的http服务器 9,多出口环境基于带…...

MUR2060CTR-ASEMI无人机专用MUR2060CTR

编辑:ll MUR2060CTR-ASEMI无人机专用MUR2060CTR 型号:MUR2060CTR 品牌:ASEMI 封装:TO-220 批号:最新 最大平均正向电流(IF):20A 最大循环峰值反向电压(VRRM&#…...

Manim的代码练习02:在manim中Dot ,Arrow和NumberPlane对象的使用

Dot:指代点对象或者表示点的符号。Arrow:指代箭头对象,包括直线上的箭头或者向量箭头等。NumberPlane:指代数轴平面对象,在Manim中用来创建包含坐标轴的数学坐标系平面。Text:指代文本对象,用来…...

datawhale - 基于术语词典干预的机器翻译挑战赛 (一)

文章目录 torchtext 库是干什么用的 ?TranslationDataset 类定义 Seq2Seq模型EncoderDecoderSeq2Seq 类 load_terminology_dictionary 函数示例用法 train 函数主程序代码模型评价load_sentences 函数translate_sentence 函数evaluate_bleu 函数主程序 测试集上进行…...

【JavaScript脚本宇宙】提升用户体验:探索 JavaScript 命令行界面开发工具

构建交互式命令行:JavaScript 中的 CLI 开发利器 前言 在现代软件开发中,命令行界面(CLI)和终端应用程序的开发变得越来越重要。为了提高用户体验和交互性,使用合适的工具和库是至关重要的。本文将介绍一些用于构建命…...

ubuntu18.04安装显卡驱动后无法进入桌面的解决办法

我没有尝试完美恢复的方法,只尝试了卸载nvidia显卡的方法 1.第一步 进 安开机键进入 1 开机进入 选项界面,选择高级模式(ubuntu 高级选项) 2.第二步 进去以后选择一个括号里面带recovery mode的选项,数字选最高最大的。 3.然后…...

javaScript的面试重点--预解析

目录 一.前言 二.预解析案例 一.前言 关于预解析,我们通过今天学习就能够知道解析器运行JS分为哪两步;能够说出变量提升的步骤和运行过程;能够说出函数提升的步骤和运行过程。 二.预解析案例 预解析,简而言之,也就是…...

Gitea 仓库事件触发Jenkins远程构建

文章目录 引言I Gitea 仓库事件触发Jenkins远程构建1.1 Jenkins配置1.2 Gitea 配置引言 应用场景:项目部署 I Gitea 仓库事件触发Jenkins远程构建 Gitea支持用于仓库事件的Webhooks 1.1 Jenkins配置 高版本Jenkins需要关闭跨域限制和开启匿名用户访问 在Jenkins启动前加入…...

springboot+vue 开发记录(九)后端打包部署运行

本篇文章主要内容是后端项目写好了,怎么打包部署到服务器上运行。 文章目录 1. 在服务器上安装Docker2. 在Docker中装MySQL3. 在Docker中设置网桥,实现容器间的网络通信4. 修改后端配置文件5. 修改pom.xml文件6. 打包7. 编写DockerFile文件8. 上传文件到…...

昇思25天学习打卡营第20天 | 基于MindNLP+MusicGen生成自己的个性化音乐

基于MindNLPMusicGen生成个性化音乐 实验简介 MusicGen是Meta AI提出的音乐生成模型,能够根据文本描述或音频提示生成高质量音乐。该模型基于Transformer结构,分为三个阶段:文本编码、音频token预测和音频解码。此实验将演示如何使用MindSpo…...

windows USB 设备驱动开发-USB主控制开发(一)

下面介绍主机驱动程序开发的高级概念和任务。 如果你正在编写与 Microsoft 提供的 USB 主机控制器扩展驱动程序 (Ucx01000.sys) 通信的新主机控制器驱动程序,则这部分内容适用于你。 下面是 Windows 中 USB 主机端驱动程序中显示的图表的修改版本。 此版本隐藏 USB…...

Dubbo 负载均衡(Load Balance)

在分布式系统中,负载均衡是确保系统高效稳定运行的关键技术之一。Dubbo 作为一款高性能的 RPC 框架,提供了多种负载均衡策略以满足不同场景的需求。本文将深入介绍 Dubbo 中常用的几种负载均衡策略:随机(Random)、轮询…...

ArcGIS Pro SDK (九)几何 3 点

ArcGIS Pro SDK (九)几何 3 点 文章目录 ArcGIS Pro SDK (九)几何 3 点1 构造地图点2 地图点生成器属性3 地图点的相等性4 缩放至指定点 环境:Visual Studio 2022 .NET6 ArcGIS Pro SDK 3.0 1 构造地图点 // 使用生…...

基于神经网络的分类和预测

基于神经网络的分类和预测 一、基础知识(一)引言(二)神经网络的基本概念(1)神经网络(2)神经元(3)常用的激活函数(非线性映射函数)&…...

第七史诗自动化脚本终极指南:5分钟快速上手E7Helper游戏助手

第七史诗自动化脚本终极指南:5分钟快速上手E7Helper游戏助手 【免费下载链接】e7Helper 【Epic Seven Auto Bot】第七史诗多功能覆盖脚本(刷书签🍃,挂讨伐、后记、祭坛✌️,挂JJC等📛,多服务器支持&#x1…...

机器学习生存分析实战:从XGBoost-AFT到临床预测模型构建

1. 项目概述:当机器学习遇上生存分析在肿瘤临床研究和患者管理中,一个核心且充满挑战的问题是:如何准确预测患者的生存时间?传统方法,比如经典的Cox比例风险模型,为我们提供了坚实的统计学基础,…...

VMware Workstation Pro 17上快速体验Rocky Linux 8.6:从镜像下载到命令行登录的5分钟极简流程

VMware Workstation Pro 17极速部署Rocky Linux 8.6实战指南 当技术爱好者们想要快速搭建一个Linux测试环境时,繁琐的安装流程往往会消耗大量时间。本文将展示如何在VMware Workstation Pro 17上,用最短时间完成Rocky Linux 8.6的部署,从零开…...

别再死记硬背了!用这5个Unity粒子特效案例,彻底搞懂ParticleSystem核心参数

别再死记硬背了!用这5个Unity粒子特效案例,彻底搞懂ParticleSystem核心参数粒子特效是游戏开发中不可或缺的视觉元素,从角色技能到环境氛围,都离不开ParticleSystem的灵活运用。但很多开发者在学习过程中陷入了一个误区——试图通…...

Unity ASW风格格斗Shader实战:描边、阴影与受击反馈系统

1. 这不是Unity官方Shader,而是ASW风格战斗系统的视觉中枢“Unity Arc System Works Shader”这个标题里藏着一个常被误解的起点:它根本不是Unity官方发布的任何内置资源,也不是Unity Asset Store上某个标着“ASW”的现成插件。它指的是开发者…...

天赐范式第53天:当伙伴没有上下文的时候——说我皮肤好~算子包装

我是第一天就开始包装算子用来算CFD的吗,这套技术理论不是多个领域模拟击穿的吗?没发论文就说没发论文,别扯没用的~谁生下来就会叫爸爸呀!伙伴:兄弟,我建议认栽,切回v27 MAC版:bashd…...

手把手教你用CentOS 7搭建Fog Project网络克隆服务器(含DHCP/TFTP配置避坑指南)

CentOS 7实战:企业级Fog Project网络克隆系统部署全攻略当企业IT部门需要同时为数十台甚至上百台计算机部署操作系统时,传统的光盘或U盘安装方式显然效率低下。这正是Fog Project大显身手的场景——一个开源的网络克隆与系统部署解决方案。本文将带您从零…...

机器学习系统能源优化:Magneton框架与能效提升实践

1. 机器学习系统中的能源浪费现状在当今大规模机器学习应用场景中,能源效率已成为与计算性能同等重要的关键指标。根据行业实测数据,一个典型的大型语言模型推理任务可能消耗相当于数十个家庭日用电量的能源。这种惊人的能源消耗背后,隐藏着大…...

CStealer工作原理揭秘:从Discord令牌到加密货币钱包的窃取技术

CStealer工作原理揭秘:从Discord令牌到加密货币钱包的窃取技术 【免费下载链接】cstealer [BIG UPDATE] A discord token grabber, crypto wallet stealer, cookie stealer, password stealer, file stealer etc. app written in Python. 项目地址: https://gitco…...

别再手动调参了!用pmdarima的auto_arima批量预测300家门店销售额,我踩过的坑都在这

批量时间序列预测实战:用auto_arima高效处理300家门店销售数据的避坑指南当面对300家连锁门店的日销售额预测需求时,传统ARIMA建模方法会迅速暴露其局限性——手动调参不仅耗时费力,还会因人为判断差异导致模型效果参差不齐。这正是为什么越来…...