STM32的PWM练习_pwm脉宽调制器习题-程序员宅基地

技术标签: stm32  嵌入式  

一、PWM简介

PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值).PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM控制技术正是有赖于在逆 变电路中的应用,才确定了它在电力电子技术中的重要地位。

二、PWM控制的基本原理

理论基础:
冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。

三、自动加载的预加载寄存器

在TIMx_CCMRx寄存器中的OCxM位写入’110’(PWM模式1)或’111’(PWM模式2),能够独立地设置每个OCx输出通道产生一路PWM。必须设置TIMx_CCMRx寄存器OCxPE位以使能相应的预装载寄存器,最后还要设置TIMx_CR1寄存器的ARPE位,(在向上计数或中心对称模式中)使能自动重装载的预装载寄存器。
在TIMx_CRx寄存器的ARPE位,决定着是否使能自动重装载的预加载寄存器。
在这里插入图片描述
在这里插入图片描述
根据TIMx_CR1位的APRE位的设置,APRE=0时,预装载寄存器的内容就可以随时传送到影子寄存器,此时两者是互通的;APRE=1时,在每一次更新事件时,才将预装在寄存器的内容传送至影子寄存器。
ARPE=1,ARR立即生效;APRE=0,ARR下个比较周期生效。

四、代码编写

pwm.h

#ifndef _pwm_H
 #define _pwm_H

#include "system_stm32f10x.c"

void TIM3_CH1_PWM_Init(u16 per,u16 psc);

#endif

定时器初始化

void TIM1_PWM_Init(u16 arr, u16 psc)
{
   
    
    GPIO_InitTypeDef GPIO_InitStructure;
    TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
    TIM_OCInitTypeDef TIM_OCInitSturcture;
 
    RCC_APB2PeriphClockCmd(RCC_APB2Pe
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/y98989/article/details/112394079

智能推荐

Opencv学习——霍夫圆变换_vector<vec3f> circles; int min_dis = 120; int para-程序员宅基地

文章浏览阅读275次。HoughCircles()函数:void HoughCircles( InputArray image, OutputArray circles, int method, double dp, double minDist, double param1 = 100, ..._vector circles; int min_dis = 120; int param1 = 45

破解锐捷3.35-0618的密码_锐捷网关登录解密-程序员宅基地

文章浏览阅读1.8w次。我们上校园网时多半都让锐捷记住了密码,有可能时间久了会把密码忘掉,这样充值时就会有点麻烦。解决办法:1、凭证到网络中心去问;2、运行锐捷,先不要认证,用WinHex打开进程8021x.exe的整个内存,搜索用户名,在其后附近即可看到密码;3、打开注册表项[HKEY_LOCAL_MACHINE\SOFTWARE\锐捷网络\Ruijie Supplicant],将Password和Passwordle_锐捷网关登录解密

【go/vscode】远程环境搭建(离线版/传统插件版)_go vscode 离线安装插件-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏6次。文章目录说在前面VS Code离线安装VS Code Extensions离线安装下载Go插件插件地址插件下载(Windows)错误处理1远程主机安装测试补全跳转说在前面vscode 版本:golang 版本测试环境:wsl(ubuntu)VS Code离线安装VS Code Extensions离线安装下载Go插件插件地址网上很多教程有离线下载的地址,但是有的博文年代久远,链接未维护,所以这里使用的是vscode github地址插件gocodegopkgsgo-_go vscode 离线安装插件

psql常用简单命令_psq 连接命令-程序员宅基地

文章浏览阅读208次。psql的命令都是以"“开头,且可不加”;"1. 数据库相关1.1 连接数据库psql -h 127.0.0.1 -p 5432 -U postgres -d DB_NAME1.2 断开数据库连接\q1.3 查看数据库列表\lstudent=# \l List of databases Name ..._psq 连接命令

Android init.rc启动shell脚本_android rc service 没法启动shell 脚本-程序员宅基地

文章浏览阅读2.1k次。最近在解决客户的一个问题的时候,帮忙调试了一个开机脚本,其中涉及了部分SELinux的权限的配置,因此记录一下,该案例基于amlogicS905L3A芯片开发,在AndroidP上进行的测试,在其他设备上大同小异,请自行查找或替换为对应的路径。注AndroidP上为了区分系统和厂商定制化内容,脚本应编译至vendor/bin下,而不是system/bin下。..._android rc service 没法启动shell 脚本

黑马程序员pink老师前端入门教程,零基础必看的JavaScript基础语法视频教程(DOM)_黑马前端pink-程序员宅基地

文章浏览阅读686次。APIDOMDOM简介什么是DOMDOM树获取元素getElementById获取元素得到一个元素对象object用dir打印,还可以得到它的属性 div#timegetElementsByTagName获取对象集合_黑马前端pink

随便推点

浅谈简洁与全面,智能与可配置_简约与智能-程序员宅基地

文章浏览阅读4.2k次。我在写上一篇文章Visual Studio Intellisense、Eclipse Content Assist与理念式编程对比Visual Studio和Eclipse时对两个开发环境在功能、界面上的风格差异有些感想,联想思索之下发挥成这篇文章。主要谈的是各种产品设计上体现出的两对趣味相异的理念,可见于机械、电子、软件等各个行业,文中举的例子来自我比较熟悉的软件业。简洁与全面简洁与综合..._简约与智能

RTL8211E应用(一)之芯片功能介绍-程序员宅基地

文章浏览阅读6.6k次,点赞2次,收藏11次。TL8211E是Realtek瑞昱推出的一款高集成的网络接收PHY芯片,它符合10Base-T,100Base-TX和1000Base-T IEEE802.3标准,可以通过CAT 5 UTP电缆及CAT 3 UTP电缆传输网络数据,该芯片在网络通信中属于物理层,用于MAC与PHY之间的数据通信。目前有RTL8211E-VB-CG、RTL8211E-VL-CG、RTL8211EG-VB-CG等三个版本。主要应用于网络接口适配器,网络集线器,网关以及一些嵌入式设备当中。RTL8211E的主要功能特性包括_8211e

解决: Message: invalid selector: Compound class names not permitted报错的问题-程序员宅基地

文章浏览阅读2.4k次。对于出现消息:无效的选择器:不允许使用复合类名的问题?该页面解析:原始代码:self.driver.find_element_by_class_name('s-btn btn-ok').click()问题:代码出现如下清空:Traceback (most recent call last):File "D:\CollectionOverview\unittest\p..._message: invalid selector: compound class names not permitted

创建React App + Express 前后台交互项目_react 和express 如何交互-程序员宅基地

文章浏览阅读2.1k次。创建express app 全局安装 express-generator $ npminstall-g express-generator 创建express app $express react-backend 安装依赖包 $ npminstall目录: 修改react-backend/routes/users.js, 返回简单的..._react 和express 如何交互

软件工程-图书馆管理系统_以开发图书馆为例,根据所学过的软件工程中的开发软件方法和步骤,完成需求分析阶段-程序员宅基地

文章浏览阅读3.2w次,点赞41次,收藏562次。随着计算机和网络技术的飞速发展,计算机的应用领域不断扩大。在现代大学图书馆管理系统中,如何为读者提供方便快捷的服务,提高图书的利用率等问题变得越来越突出。图书馆管理系统正是趋于这个目标而设计的。本文首先介绍了课题的研究目的及现状,给出课题的研究目标和意义;以MicroSoft Visio、Project、Rose、VSS、Power Designer为例学习计算机辅助软件工程工具的基本使用方法,在理论的基础上完成了系统的设计。本文主要包括以下几个方面:(1)进行系统需求分析,采用MicroSoft_以开发图书馆为例,根据所学过的软件工程中的开发软件方法和步骤,完成需求分析阶段

springCloud→Stream:实战_server.port = ${}-程序员宅基地

文章浏览阅读626次。SpringCloud Stream之消费者环境搭建测试环境搭建1、cloud-stream-rabbitmq-consumer88022、pom <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-stream-_server.port = ${}