刚开始接触STM32,最近在做一个项目时用到其中的PWM功能。在产品调试中出现在关闭PWM输出时,GPIO电平有不确定的情况。在网上查阅资料发现大神们是这样解释的:PWM在一个脉冲没有结束时关闭输出,会导致GPIO电平不确定。
解决方法:1、在关闭PWM输出时随即将相应GPIO强制为低(这个高/低看各人的需要)
tiM_Cmd(TIM3 ,DISABLE);//关闭PWM输出
TIM_ForcedOC1Config(TIM3, TIM_ForcedAction_InActive);//将PWM输出强制为低
2、在下次打开PWM时使用下面的函数
/*因前面使用PWM强制输出为低,此处需要重新打开PWM输出*/
TIM_SelectOCxM(TIM3, TIM_Channel_1, TIM_OCMode_PWM1);
TIM_CCxCmd(TIM3, TIM_Channel_1, TIM_CCx_Enable);
TIM_Cmd(GENERAL_TIM, ENABLE);//使能TIMER3,开始产生PWM
希望对奋斗在路上的大家有帮助。
共4条
1/1 1 跳转至页
[经验] STM32 PWM功能在关闭时GPIO电平不确定的情况
关键词: STM32 经验
共4条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |