STM32F103 PWM配置

news/2024/12/5 0:08:49/文章来源:https://www.cnblogs.com/zyly/p/18587565

在《STM32F103定时器配置》中我们介绍了PWM的产生原理,本节介绍介绍如何编码实现PWM的输出。

一、PWM相关寄存器

TIMx如果要产生PWM,除了我们上一节提到的如下寄存器:

  • 控制寄存器(TIMx_CR1);
  • DMA/中断使能寄存器(TIMx_DIER);
  • 预分频寄存器(TIMx_PSC);
  • 从模式控制寄存器(TIMx_SMCR);
  • 自动重装载寄存器(TIMx_ARR);
  • 状态寄存器(TIMx_SR);

还需要使用到:

  • 捕获/比较模式寄存器(TIMx_CCM1/2);
  • 捕获/比较使能寄存器(TIMx_CCER);
  • 捕获/比较寄存器(TIMx_CCR1~4);
  • 刹车和死区寄存器(TIMx_BDTR)(只有高级定时器用到)。

1.1 捕获比较模式寄存器(TIMx_CCM1/2

捕获/比较模式寄存器一共有两个:

  • TIMx_CCM1:控制通道1和2;
  • TIMx_CCM2:控制通道3和4;

这里以 TIMx_CCM1寄存器为例进行介绍:

1.2 捕获/比较使能寄存器(TIMx_CCER

TIMx_CCER寄存器每4位描述一个通道;

其中:

  • CCxE:输入/捕获x输出使能位,我们需要重点关注;
  • CCxP:输入/捕获x输出极性。

1.3 捕获/比较寄存器(TIMx_CCR1~4

捕获/比较模式寄存器一共有4个,依次用于描述每一个通道,这里以TIMx_CCR1为例;

1.4 刹车和死区寄存器(TIMx_BDTR

二、PWM生成源码

2.1 PWM初始化步骤

PWM生成配置流程如下:

(1) TIMx时钟使能:通过配置RCC_APB1ENR/RCC_APB2ENR寄存器使能TIMx时钟;

2.2 源码实现

2.3 实现功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/846930.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gitlab实现https及管理员密码找回

作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 目录一.gitlab实现https1.实现https概述2.gitlab实现https实战案例二.找回gitlab忘记的密码(可用于破解别人的gitlab服务器)1.官方文档2.实战案例 一.gitlab实现https 1.实现https概述 gitlab如果用于不安全的…

2024CCPC长春邀请赛VP D,EG,L

L. Recharge给你三个整数,k,x,y。。x和y分别代表x个1和y个2 问你最多能凑出几个k 我们只需要考虑是否会出现浪费2的情况比如k=3 你此时没有1就只能用两个2来凑出这个3,这样就会浪费1. 我们把k分成奇偶数来看,如果k是偶数,那么百分百不会出现浪费,只需要把(y*2+x)/k就能得到…

Bclinux离线安装PostgreSQL10.23+PostGIS2.5编译安装配置

一、安装PostgreSQL1、安装PostgreSQL解压PostgreSQL软件包tar -zxvf postgresql.tar.gz配置并安装PostgreSQL[postgres@localhost setup]$ tar -zxvf postgresql-10.23.tar.gz 进入解压后的目录,按照PostgreSQL的官方文档进行配置和安装。这通常涉及到创建数据目录、配置post…

苹果im虚拟机系统,苹果imessage推信软件,苹果iMessage自动群发协议 – 持续更新中...

一、电脑版虚拟机苹果系统(Mac OS)上实现imessage群发: /*MacOS苹果系统,正常情况下,只能安装到苹果公司自己出品的Mac电脑,俗称白苹果,不能安装到各种组装机或者其他品牌的品牌机上,黑苹果的的原理,就是通过一些“破解补丁” 工具欺骗macOS系统,让苹果系统认为你的电脑其…

Only AI Flow Can Do!

0 大纲作为骨灰级程序员,咋用 AI flow 提高编码效率 零代码基础,如何使用 AI 辅助编程工具实现自己的想法 盘点常用的 AI 辅助编程工具和使用场景 如何选择适合自己的 AI 辅助编程工具如今的 AI flow 系列软件包括:Cursor、Bolt、Windsurf、v0、通义灵码...... 1 编码咋提效…

Redis探秘Sentinel(哨兵模式)

概述 Redis的高可用机制有持久化、复制、哨兵和集群。其主要的作用和解决的问题分别是:持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。 复制:复制是高可用Redis的基础,哨兵和…

数据传输(小迪网络安全笔记~

引子:上一章主要介绍了无回显&不出网,概念、影响、解决方式等。本篇则对网络通信中的数据传输进行介绍,包括数据传输格式、不同类型数据对测试者造成的影响等。附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正! 4.1 数据传输引子:上一…

编码加密(小迪网络安全笔记~

引子:上一篇主要对常见数据传输类型做了总结,而本篇则对数据常见的编码&加密方式进行总结。附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正! 4.2 编码加密引子:上一篇主要对常见数据传输类型做了总结,而本篇则对数据常见的编码&加…

测试Gpt的质量插件,挺好的

可以用油猴脚本试试检测IP质量,也是L站看到的 油猴地址:https://greasyfork.org/zh-CN/scripts/517144-chatgpt-helper 来源:https://linux.do/t/topic/258522

不出网(小迪网络安全笔记~

引子:上一章主要对常见的抓包软件&技术做了介绍。本章则主要介绍无回显&不出网,包括什么是无回显&不出网、无回显&不出网对渗透测试造成的影响、测试者遇到了无回显&不出网该如何解决。至于迪总为什么要在基础入门讲这些,可能是为了后面Web篇和内网篇做…

Task05 拓展01

Task 05 条件Conditionals IF 语句IF Else 语句IF-ELIF-ELSE语句IF-ELSE推导式 def abs7(n)return n if (n>=0) else -ndef abs7(n):if n >=0:return nelse:return -nMATCH-CASE语句 match subject:case <pattern_1><action_1>case <pattern_2><act…

Web额外配置(二)(小迪网络安全笔记~

引子:本篇继续介绍一些Web服务常用的额外配置,如堡垒机、蜜罐、API等。附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正! 1.1.4 Web额外配置(二)引子:本篇继续介绍一些Web服务常用的额外配置,如堡垒机、蜜罐、API等。堡垒机概念:从运维…