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

STM32 CubeMX PWM三种模式(互补,死区互补,普通)(HAL库)

STM32 CubeMX PWM两种模式(HAL库)


STM32 CubeMX

  • STM32 CubeMX PWM两种模式(HAL库)
  • 一、互补对称输出
    • STM32 CubeMX设置
    • 代码部分
  • 二、带死区互补模式
    • STM32 CubeMX设置
    • 代码
  • 三、普通模式
    • STM32 CubeMX设置
    • 代码部分
  • 总结



一、互补对称输出

STM32 CubeMX设置

开启互补,设置周期500us(频率2Khz);(1/周期=频率)
在这里插入图片描述

代码部分

  HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);						//启动 PWM 通道1信号输出		HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);						//启动 PWM 通道2信号输出		HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1);				//启动 PWM 通道1 互补信号输出HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_2);				//启动 PWM 通道2 互补信号输出__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,100);		//设置 PWM 通道1 占空比
// __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_2,100);		//设置 PWM 通道2 无效

在这里插入图片描述
实验现象:100/500=0.8;所以输出2Khz80%的占空比互补对称波形
在这里插入图片描述

二、带死区互补模式

STM32 CubeMX设置

设置死区时间1us
在这里插入图片描述

代码

在这里插入图片描述

 
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);						//启动 PWM 通道1信号输出		HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);						//启动 PWM 通道2信号输出		HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1);				//启动 PWM 通道1 互补信号输出HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_2);				//启动 PWM 通道2 互补信号输出__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,50);		//设置 PWM 通道1 占空比

在这里插入图片描述

三、普通模式

STM32 CubeMX设置

在这里插入图片描述

代码部分

在这里插入图片描述

   HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);						//启动 PWM 通道1信号输出		__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,100);		//设置 PWM 通道1 占空比

在这里插入图片描述

总结

以上就是今天要讲的内容,本文仅仅简单介绍了PWM的使用,而PWM提供了大量能使我们快速便捷地处理数据的函数和方法。

相关文章:

STM32 CubeMX PWM三种模式(互补,死区互补,普通)(HAL库)

STM32 CubeMX PWM两种模式(HAL库) STM32 CubeMX STM32 CubeMX PWM两种模式(HAL库)一、互补对称输出STM32 CubeMX设置代码部分 二、带死区互补模式STM32 CubeMX设置代码 三、普通模式STM32 CubeMX设置代码部分 总结 一、互补对称输…...

Linux系统导入导出docker容器的sql数据

Linux系统导入导出docker容器的sql数据 一 要从Docker容器中将数据库导出到本地 确保您已经安装了Docker,并且已经运行了包含数据库的Docker容器。 检查容器中运行的数据库服务的名称或容器ID。您可以使用命令 docker ps 来列出正在运行的容器和相关信息。 使用…...

SpringBoot之使用Redis和注解实现接口幂等性

文章目录 1 接口幂等性1.1 概念1.2 实现思路1.3 代码实现1.3.1 pom1.3.2 JedisUtil1.3.3 自定义注解ApiIdempotent1.3.4 ApiIdempotentInterceptor拦截器1.3.5 TokenServiceImpl1.3.6 TestApplication 1.4 测试验证1.4.1 获取token的控制器TokenController1.4.2 TestController…...

《3D 数学基础》几何检测-相交性检测

目录 1. 2D直线相交 2. 3D射线相交点 3. 射线和平面的交点 4. 3个平面的交点 5. 射线和圆或者球交点 6. 两个圆或者球是否相交 7. 球和平面的相交性检测 8. 射线和AABB的相交性(13.17) 9. 射线和三角形的相交性(13.16) …...

文字与视频结合效果

效果展示 CSS 知识点 mix-blend-mode 属性的运用 实现整体页面布局 <section class"sec"><video autoplay muted loop><source src"./video.mp4" type"video/mp4" /></video><h2>Run</h2><!-- 用于切…...

大数据Doris(九):配置BE步骤

文章目录 配置BE步骤 一、配置be节点...

BuyVM 纽约 VPS 测评

description: 发布于 2023-07-05 BuyVM 纽约 VPS 测评 产品链接&#xff1a;https://my.frantech.ca/cart.php?gid38 G口不限流量&#xff0c;抗一般投诉&#xff0c;不抗版权投诉。 CPU很快&#xff0c;硬盘不错。 无大陆优化&#xff0c;但大陆连通性很不错&#xff0c;…...

H3C交换机的40G堆叠线 ,可以插在普通光口做堆叠吗?

环境&#xff1a; S6520X-24ST-SI交换机 H3C LSWM1QSTK2万兆40G堆叠线QSFP 问题描述&#xff1a; H3C交换机的40G堆叠线 &#xff0c;可以插在普通光口做堆叠吗&#xff1f; 解答&#xff1a; 1.H3C交换机的40G堆叠线通常是用于连接堆叠模块或堆叠端口的。这些堆叠线通常使…...

【Java 进阶篇】JavaScript三元运算符详解

JavaScript是一门广泛用于前端和后端开发的编程语言&#xff0c;具备强大的表达式和运算符。本篇博客将重点介绍JavaScript中的三元运算符&#xff0c;解释其语法、用法和示例。如果您是JavaScript初学者&#xff0c;或者希望更深入了解这门语言的运算符&#xff0c;那么这篇博…...

MySQL数据库技术笔记(4)

关系型数据库需要使用设计范式&#xff1a; 第一范式&#xff1a;遵从原子性&#xff0c;属性不可再分&#xff0c;数据库表的每一列都是不可分割的基本数据项&#xff0c;同一列中不能有多个值。 例如&#xff1a;需要创建一张地址表&#xff0c;存储地址信息。将地址信息划…...

批量图片转文字识别OCR身份证件信息提取软件

现在的OCR软件很多&#xff0c;有在线的也有本地的&#xff0c;单识别文字功能还行&#xff0c;不过能批量识别的好像不多&#xff0c;网上搜了几个都不怎么好用。尤其是识别身份证件之类的软件&#xff0c;并且还能提取出识别到的信息&#xff0c;比如姓名 名族地址等等更少。…...

Mac/Wins Matlab如何查看APPs源码

查看Apps方法一样&#xff0c;点击HOME-preferences-MATLAB-Apps查看你的Apps安装路径。 你的Apps文件就安装在该目录下&#xff0c;直接进入这个目录就可以看到你自己写的APPs文件&#xff0c;...

Web应用-Thinkphp框架-开发指南

Thinkphp框架 二级导航分类&#xff0c;模板继承&#xff0c;内置标签Public 修改MVC模块化 ——访问机制传参加载模版模版引入 分离Runtime 缓存文件管理员添加数据验证及验证场景 控制器 validate 在sql执行&#xff08;敏感操作&#xff09;之前验证数据模板 分页数据表连接…...

LeetCode【300】最长递增子序列

题目&#xff1a; 思路&#xff1a; 通常来说&#xff0c;子序列不要求连续&#xff0c;而子数组或子字符串必须连续&#xff1b;对于子序列问题&#xff0c;第一种动态规划方法是&#xff0c;定义 dp 数组&#xff0c;其中 dp[i] 表示以 i 结尾的子序列的性质。在处理好每个…...

JRebel在IDEA中实现热部署 (JRebel实用版)

JRebel简介&#xff1a; JRebel是与应用程序服务器集成的JVM Java代理&#xff0c;可使用现有的类加载器重新加载类。只有更改的类会重新编译并立即重新加载到正在运行的应用程序中&#xff0c;JRebel特别不依赖任何IDE或开发工具&#xff08;除编译器外&#xff09;。但是&…...

uniapp微信小程序之分包异步化之组件分包

一、组件分包异步化解决的问题 日渐增加的通用组件造成的主包空间不足; 提升小程序访问速度,降低白屏率; 二、开启组件分包异步化过程中遇到的问题 如何进行占位组件配置; 如何解决通过$refs访问异步组件报错; 如何判断所有异步组件都已加载完毕; 多分包组件之间互相调用…...

Nacos(替代Eureka)注册中心

Nacos初步学习 Nacos 是一个开源的服务注册和配置中心&#xff0c;它允许您注册、注销和发现服务实例&#xff0c;并提供了配置管理的功能。下面是Nacos的最基础用法&#xff1a; 1. 服务注册和发现&#xff1a; 首先&#xff0c;您需要将您的应用程序或服务注册到Nacos中。…...

FHRP首跳冗余的解析

首跳冗余的解析 个人简介 HSRP hot standby router protocol 热备份路由协议 思科设备上 HSRP VRRP 华为设备上 VRRP HSRP v1 version 1 HSRP v2 version 2 虚拟一个HSRP虚拟IP地址 192.168.1.1 开启HSRP的抢占功能 通过其他参数 人为调整谁是主 谁是从 &a…...

垂直分表为什么能够加快查询效率?

前言 垂直分表是分库分表中分表操作上一个重要的实现方式&#xff0c;利用垂直分表可以提高数据的处理效率和查询速度&#xff0c;本节主要围绕 垂直分表为什么能够加快查询速度 展开说明&#xff0c;以mysql查询的底层流程为例。 垂直分表是将一张表按列分为多张表&#xff0c…...

Linux网络基础知识全面总结

文章目录 linux网络基础知识1.1 IP地址和子网掩码1.2 网关和路由1.3 域名系统 (DNS)1.4 端口和协议 Linux网络配置2.1 ifconfig命令2.2 网络接口配置文件2.3 DHCP自动获取IP地址2.4 静态IP地址配置2.5 网络重启和应用配置3. 网络工具和命令3.1 ping命令3.2 traceroute和mtr命令…...

Ollama客户端开发指南:构建本地大模型交互工具的核心原理与实践

1. 项目概述&#xff1a;一个与Ollama对话的客户端工具如果你正在本地运行像Llama 3、Mistral或者Qwen这类开源大语言模型&#xff0c;那么Ollama这个名字对你来说一定不陌生。它让部署和管理这些模型变得像在命令行里敲几个单词一样简单。但Ollama本身主要是一个服务端工具&am…...

【独家首发】Midjourney像素艺术训练数据集反向推演报告:基于12,843张高质量样本的风格迁移规律白皮书

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney像素艺术风格的定义与边界判定 像素艺术&#xff08;Pixel Art&#xff09;在 Midjourney 中并非原生风格类别&#xff0c;而是一种通过提示词工程、参数约束与后处理协同达成的视觉范式。其…...

OpenRGB:打破RGB灯光控制壁垒的开源统一解决方案

OpenRGB&#xff1a;打破RGB灯光控制壁垒的开源统一解决方案 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/CalcProgrammer1/OpenRGB. Releases ca…...

可穿戴设备电池选型与电源管理实战指南

1. 项目概述&#xff1a;为什么可穿戴设备的电池选型是个技术活 做可穿戴电子项目&#xff0c;无论是智能手环、发光服饰还是互动饰品&#xff0c;最让人头疼的往往不是代码和电路&#xff0c;而是最后那一步&#xff1a; 怎么给它供电 。你可能花了好几天调通了传感器和灯带…...

东方博宜OJ入门题解:从A+B到高精度算法的实战解析

1. 东方博宜OJ平台入门指南 第一次接触在线评测系统(OJ)时&#xff0c;很多人都会被各种题目搞得晕头转向。东方博宜OJ作为国内知名的编程练习平台&#xff0c;特别适合编程新手从零开始系统学习。我刚开始刷题时也走过不少弯路&#xff0c;今天就和大家分享一些实战经验。 这…...

阵列信号处理笔记(2):波数域解析、阵列流形可视化与频率响应设计

1. 波数域解析&#xff1a;空域频率的物理意义 波数域是理解阵列信号处理的关键视角。简单来说&#xff0c;波数&#xff08;k&#xff09;相当于空域中的"频率"&#xff0c;就像时域中的角频率&#xff08;ω&#xff09;描述信号随时间变化的快慢一样&#xff0c;波…...

STM32F103C8T6新手必看:SWD、JTAG、串口三种下载方式到底怎么选?

STM32F103C8T6开发入门&#xff1a;SWD、JTAG与串口下载方式深度解析 第一次接触STM32开发板时&#xff0c;面对板子上密密麻麻的接口和文档中提到的各种下载方式&#xff0c;很多新手都会感到迷茫。我清楚地记得自己刚开始学习时&#xff0c;拿着ST-Link调试器却不知道应该连接…...

普通人如何构建AI智能体?一篇文章搞定——快速搭建属于自己的智能体

构建一个属于自己的智能体&#xff0c;其核心流程围绕一个通用架构展开&#xff0c;该架构定义了智能体如何感知、决策和行动。 对于普通人&#xff08;非专业开发者&#xff09;而言&#xff0c;关键在于利用现有的、低代码或无代码的框架和平台&#xff0c;将复杂的架构组件…...

基于MCP协议与RAG技术构建智能聊天应用:架构解析与实战指南

1. 项目概述&#xff1a;一个基于MCP协议的RAG聊天应用最近在开源社区里&#xff0c;一个名为gogabrielordonez/mcp-ragchat的项目引起了我的注意。乍一看标题&#xff0c;它融合了当下两个非常热门的技术概念&#xff1a;MCP和RAG。对于从事AI应用开发&#xff0c;特别是希望构…...

PostgreSQL日期时间格式化终极指南:to_char、to_timestamp、extract epoch实战详解

PostgreSQL日期时间格式化终极指南&#xff1a;to_char、to_timestamp、extract epoch实战详解 在处理数据库时&#xff0c;日期和时间操作几乎是每个开发者都会遇到的挑战。PostgreSQL作为功能强大的开源关系型数据库&#xff0c;提供了丰富的日期时间处理函数&#xff0c;能够…...