STM32输出3对PWM互补信号做电机控制-C代码

news2025/1/11 0:28:53

1、使用芯片STM32F103VC

2、打开MXCube新建工程

3、配置下载模式为SW,外部晶振8M,主频72M

 4、配置高级定时器1,使用内部晶振,开启互补PWM输出模式

 5、配置载波频率10k,即周期为10us

定时周期 = (Prescaler + 1) × (Period + 1) ÷ 时钟频率 单位:秒(S))

时钟频率72MHz = 72 × 10^6(Hz)

故:Prescaler + 1 = 72

Period + 1 = 100

选择先上升后下降模式,即模式3

 并自动装载

 6、选择死区时间 

 7、配置初始PWM都为50%

 8、开启定时中断

 9、保存,并代码生成

10、打开工程

加入代码如下:

	__HAL_TIM_CLEAR_FLAG(&htim1, TIM_FLAG_UPDATE);//启用前清除TIM中断标志位
	__HAL_TIM_CLEAR_IT(&htim1, TIM_IT_UPDATE);//启用前清除TIM中断
	HAL_TIM_Base_Start_IT(&htim1);//开启TIM计数

	HAL_TIMEx_PWMN_Start(&htim1,TIM_CHANNEL_1);//开启互补pwm
	HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);//|TIM_CHANNEL_2|TIM_CHANNEL_3);	
	HAL_TIMEx_PWMN_Start(&htim1,TIM_CHANNEL_2);//开启互补pwm
	HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);//|TIM_CHANNEL_2|TIM_CHANNEL_3);
	HAL_TIMEx_PWMN_Start(&htim1,TIM_CHANNEL_3);//开启互补pwm
	HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);//|TIM_CHANNEL_2|TIM_CHANNEL_3);

定时器回调函数

//TIM定时返回函数
void HAL_TIM_PeriodElapsedCallback (TIM_HandleTypeDef *htim)//回调函数
{
 
	if(htim->Instance == TIM1)//判断进入定时1通道回调函数
	{

    }
}

11、MDK仿真配置

 12、开启软件仿真

13、 开启逻辑分析

 14、建立IO信息读取

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c语言实现栈

文章目录 前言一、栈的特征二、栈的实现1、栈的设计2、栈的初始化和销毁3、元素的入栈和出栈4、返回栈顶元素 三、栈的应用 前言 在学习完链表之后,接下来就要了解另外的两个常用的线性数据结构,栈和队列。 一、栈的特征 栈:一种特殊的线性…

斩获多家名校邀请函|检验医师终赴多伦多大学访学深造

M医生学术背景不错,具备较扎实的基础医学理论及较熟练的实验技能,也有一定的英语能力,但因本身不够自信,担心申请不到名校通不过CSC审批。我们先后为其获得新加坡科技研究局(A*Star)、加拿大麦吉尔大学、多…

为什么企业需要IT服务管理?

什么是IT服务管理? 将IT服务管理功能扩展到技术服务之外,解决以业务为中心通过单一平台,门户和服务目录管理服务供需,通过PaaS/低代码开发工具加速创新和工作流自动化。 为什么企业需要IT服务管理? 为了更好管理公司内不同业务&a…

功能强大、超低功耗的STM32WL55JCI7、STM32WL55CCU7、STM32WL55CCU6 32位无线远距离MCU

STM32WL55xx 32位无线远距离MCU嵌入了功能强大、超低功耗、符合LPWAN标准的无线电解决方案,可提供LoRa、(G)FSK、(G)MSK和BPSK等各种调制。STM32WL55xx无线MCU的功耗超低,基于高性能Arm Cortex-M4 32位RISC内核(工作频率高达48MHz&#xff09…

优化ADC 采样计算的简单思路

想法是尽量简化ADC 采样值换算到真实电压的过程,最好是不涉及浮点运算,整数乘除法成本比较低。 原理 对于使用了分压电阻采样输入电压的情形,电路大概是这样: 分压比例为: K R 1 R 2 R 1 (1) K \frac{R1 R2}{R1}…

java 实现N次多项式回归

使用的类库 org.apache.commons.math3 maven <dependency><groupId>org.apache.commons</groupId><artifactId>commons-math3</artifactId><version>3.6.1</version> </dependency> 推荐工具 如果只是做学术研究用&…

摩托车外廓尺寸检测软件

本系统为摩托车外廓尺寸检测软件&#xff0c;该系统共涉及两种测量方法&#xff1a;自动测量和手动测量&#xff0c;旨在测量出每一台摩托车的外廓尺寸&#xff0c;包括但不限于摩托车的车长、车宽、车高、轮距、前悬、后悬、前伸距等需要测量的参数&#xff0c;可通过运行软件…

ATFX汇市:美元指数强势状态延续,市价逼近104关口

环球汇市行情摘要—— 昨日&#xff0c;美元指数上涨0.27%&#xff0c;收盘在103.61点&#xff0c; 欧元贬值0.48%&#xff0c;收盘价1.0846点&#xff1b; 日元贬值0.24%&#xff0c;收盘价145.87点&#xff1b; 英镑贬值0.19%&#xff0c;收盘价1.2733点&#xff1b; 瑞…

Vulnhub: bassamCTF: 1靶机

kali&#xff1a;192.168.111.111 靶机&#xff1a;192.168.111.210 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.210 修改hosts文件 爆破出子域名welcome wfuzz -H HOST: FUZZ.bassam.ctf -u http://192.168.111.210 -w /usr/share/wor…

GB28181视频监控国标平台EasyGBS角色绑定设备通道的功能优化

GB28181视频监控国标平台EasyGBS是基于国标GB28181协议、支持多路设备同时接入的视频监控/视频云服务平台&#xff0c;支持对多平台、多终端分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。国标GB28181平台EasyGBS可提供视频直播监控、云端录像、云存储、检索回放、智能告警…

电子器件系列47:稳压二极管

C80857_稳压二极管_BZX84C15LT1G_规格书_ONSEMI(安森美)稳压二极管规格书 232-稳压二极管的串联使用&#xff0c;和普通二极管串联也能灵活稳压_哔哩哔哩_bilibili 基本释义    稳压二极管&#xff0c;英文名称Zener diode&#xff0c;又叫齐纳二极管。    利用pn结反向击穿…

IPv6 基础概念

IPv6 基础概念 组播地址 IPv6的组播与IPv4相同&#xff0c;用来标识一组接口&#xff0c;一般这些接口属于不同的节点。一个节点可能属于0到多个组播组。发往组播地址的报文被组播地址标识的所有接口接收。例如组播地址FF02::1表示链路本地范围的所有节点&#xff0c;组播地址…

什么是3D智慧档案馆?智慧档案馆如何建设?

档案馆3D可视化解决方案 一、引言 随着科技的飞速发展和数字化转型的推进&#xff0c;档案馆作为文化遗产和重要信息的保管者&#xff0c;面临着新的挑战和机遇。为了更好地保护和管理档案资料&#xff0c;提高档案馆的管理效率和透明度&#xff0c;我们提出了一种档案馆3D可视…

代驾系统:革新出行体验的智能伙伴

在现代社会&#xff0c;出行方式正在经历着一场革命&#xff0c;而代驾系统正是这场革命中的一位智能伙伴。通过结合智能科技和出行需求&#xff0c;代驾系统为我们带来了便捷、安全、个性化的出行体验。本文将介绍代驾系统的工作原理&#xff0c;并通过Python代码演示其基本功…

ChatGLM-Med,HuaTuo,ChatDoctor

ChatGLM-Med&#xff1a;基于中文医学知识的ChatGLM模型微调 HuaTuo&#xff1a;基于中文医学知识的LLaMA微调模型 ChatDoctor&#xff1a;基于常见医疗数据微调的LLaMA 目录 ChatGLM-MedHuaTuoChatDoctor ChatGLM-Med 模型为ChatGLM-6B&#xff0c;微调数据集为&#xff1a;医…

uniapp使用uni.chooseLocation()打开地图选择位置

使用uni.chooseLocation()打开地址选择位置&#xff1a; 在Uniapp源码视图进行设置 添加这个属性&#xff1a;"requiredPrivateInfos":["chooseLocation"] ​ </template><view class"location_box"><view class"locatio…

repair taillights

自己修理汽车尾灯&#xff0c;可以根据型号去某宝买个回来自己安装&#xff1a;

【前端从0开始】JavaSript——js基础语法

1. JS基础语法 1.1. JS概念 JavaScript 是用于实现用户交互、动态控制文档的外观和内容, 动态控制浏览器操作、创建cookies等网页行为的跨平台、跨浏览器的由浏览器解释执行的客户端脚本语言。 js文档 1.2. 特点 是基于对象的弱类型语言 弱类型语言: 某一个变量被定义类型…

HDLBits-Verilog学习记录 | Verilog Language-Vectors(1)

文章目录 11.vectors | vector012.vectors in more detail | vector113.Vector part select | Vector214.Bitwise operators | Vectorgates15.Four-input gates | Gates416.Vector concatenation operator | Vector317.Vector reversal 1 | Vectorr18. Replication operator | …

石油和天然气行业如何实现数字化转型和工业4.0

石油和天然气行业的数字化转型正面临着前所未有的挑战和机遇。尽管过去相对滞后&#xff0c;这个复杂而庞大的行业正逐渐意识到数字化的紧迫性&#xff0c;以应对市场变化、降低运营成本、提高效率和确保可持续性。然而&#xff0c;数字化转型的进程并非一帆风顺&#xff0c;行…