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

宝安住房和建设局网站电话线上推广外包公司

宝安住房和建设局网站电话,线上推广外包公司,有哪些网页设计软件,网站模板广告去除一. PWM基本原理 PWM是一种通过调节信号的占空比(Duty Cycle)来控制输出平均电压的技术。占空比是指高电平时间与整个周期时间的比值。例如: - 占空比为50%时,输出平均电压为电源电压的一半。 - 占空比为100%时,输出始…

一. PWM基本原理

PWM是一种通过调节信号的占空比(Duty Cycle)来控制输出平均电压的技术。占空比是指高电平时间与整个周期时间的比值。例如:
- 占空比为50%时,输出平均电压为电源电压的一半。
- 占空比为100%时,输出始终为高电平。

二、STM32定时器生成PWM的原理

STM32的定时器可以通过以下步骤生成PWM信号:
1. 计数器:定时器内部有一个计数器,根据时钟源进行递增或递减计数。
2. 自动重装载寄存器(ARR):定义PWM信号的周期(频率)。
3. 比较寄存器(CCR):定义PWM信号的占空比。
4. 输出模式:定时器可以配置为在计数器值等于比较寄存器值时切换输出电平。

三、 PWM生成步骤

以下是配置STM32定时器生成PWM的基本步骤:
1. 使能定时器时钟:通过RCC寄存器使能定时器的时钟。
2. 配置定时器模式:
           - 设置计数模式(向上、向下或中心对齐)。
           - 配置预分频器(Prescaler)以调整计数器时钟频率。
           - 设置自动重装载寄存器(ARR)以定义PWM周期。
3. 配置PWM模式:
           - 选择PWM模式(PWM模式1或PWM模式2)。
           - 设置比较寄存器(CCR)以定义占空比。
4. 配置GPIO:
           - 将定时器的输出通道映射到特定的GPIO引脚。
           - 配置GPIO为复用功能(Alternate Function)。
5. 启动定时器:使能定时器开始生成PWM信号。

四、 关键参数

PWM频率:由定时器时钟频率、预分频器和自动重装载寄存器(ARR)决定
        PWM频率 = 定时器时钟频率 / (预分频器 + 1) / (ARR + 1)
占空比:由比较寄存器(CCR)决定。
        占空比 = (CCR + 1) / (ARR + 1)

五、代码

#include "PWM.h"TIM_HandleTypeDef PWM_InitStructure;
TIM_OC_InitTypeDef PWM_InitStruct;
void PWM_Init(void)
{PWM_InitStructure.Instance = TIM1;PWM_InitStructure.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;PWM_InitStructure.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;//分频因子PWM_InitStructure.Init.CounterMode = TIM_COUNTERMODE_UP;//计数模式:向上计数PWM_InitStructure.Init.Period = 500 - 1;//自动重装载值ARRPWM_InitStructure.Init.Prescaler = 84 - 1;//分频系数PSCPWM_InitStructure.Init.RepetitionCounter = 0;//重复计数器HAL_TIM_PWM_Init(&PWM_InitStructure);PWM_InitStruct.OCMode = TIM_OCMODE_PWM1;PWM_InitStruct.Pulse = (500 - 1)/2;PWM_InitStruct.OCPolarity = TIM_OCPOLARITY_HIGH;HAL_TIM_PWM_ConfigChannel(&PWM_InitStructure,&PWM_InitStruct,TIM_CHANNEL_1);HAL_TIM_PWM_Start(&PWM_InitStructure,TIM_CHANNEL_1);
}void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim)
{if(htim->Instance == TIM1){__HAL_RCC_TIM1_CLK_ENABLE();//开启定时器1的时钟__HAL_RCC_GPIOE_CLK_ENABLE();//开启GPIOE的时钟  TIM1_CH1---->PE9GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.Mode = GPIO_MODE_AF_PP;				//复用推挽输出GPIO_InitStructure.Pin = GPIO_PIN_9;					//引脚9GPIO_InitStructure.Pull = GPIO_PULLUP;					//上拉GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_VERY_HIGH;	//超高速GPIO_InitStructure.Alternate = GPIO_AF1_TIM1;			//复用功能HAL_GPIO_Init(GPIOE,&GPIO_InitStructure);}
}void TIM1_SetCompare(uint32_t compare)
{TIM1->CCR1 = compare;
}

http://www.dtcms.com/a/457685.html

相关文章:

  • 网站建设需要哪些工作室网页设计与制作简历
  • 案例17-用户登陆留言
  • 浮点江山:深入解析计算机中的实数表示法
  • 做模具在哪个网站找工作wordpress加载进度条
  • CSS变量的应用
  • 红酒公司的网站建设陕西网站建设平台
  • wordpress网站go.php跳转莆田网站建设模板
  • 第四步:加入请求参数校验
  • 地质时代简表
  • 网站开发使用什么工具百度查重免费
  • 【Proteus仿真】单片机(AT89C51)向主机发送字符串
  • 做的网站没法本地上传图片室内装修设计软件3d
  • BIO、NIO、AIO详解
  • 从人类多能干细胞生成心脏形成类器官Protocol
  • 做网站的公司怎样收费石家庄网络关键词推广
  • 网站手机版后台生意宝做网站行吗
  • Energy-Efficient Satellite joint Computation and Communication
  • Iphone手机备份从专家到小白
  • 基于stc12单片机的PID恒温烙铁设计
  • 南阳专业网站设计公司浙江最近爆发的传染病
  • 2025年--Lc176--H509.斐波那契数(动态规划)--Java版
  • 【线程邮箱】
  • 网站优秀作品做网站经验
  • AI+洞察:大模型技术重塑医疗健康产业发展格局
  • 网站开发中的前端与后端技术解析
  • 定远县可以做网站的地方厦门城乡住房建设厅网站首页
  • JavaScript中的DOM操作
  • OpenAI DevDay 2025:ChatGPT 进化为平台,开启 AI 应用新纪元
  • 什么是模型微调
  • 郑州网站高端设计游戏官方网站开发设计报告