历史上的今天

今天是:2024年08月22日(星期四)

正在发生

2019年08月22日 | STM32学习笔记(PWM输出)

发布者:科技创新实践者 来源: eefocus关键字:STM32  学习笔记  PWM输出 手机看文章 扫描二维码
随时随地手机看文章

本人采用Cube 进行的STM32库函数编程,PWM波的输出配置以及代码如下所示:(经过实际实验证明非常好用)

以下为定时器PWM输出函数,注意:使用时一定要把原来输出函数注释掉。

注释代码如下:

// sConfigOC.OCMode = TIM_OCMODE_PWM1;

// sConfigOC.Pulse = 0;

// sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;

// sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;

// if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)

// {

// _Error_Handler(FILE, LINE);

// }


// if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)

// {

// _Error_Handler(FILE, LINE);

// }


// if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)

// {

// _Error_Handler(FILE, LINE);

// }


// if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)

// {

// _Error_Handler(FILE, LINE);

// }

void PWM_Change_Duty(float x,float y,float z,float w)

{

TIM_OC_InitTypeDef sConfigOC;

sConfigOC.OCMode = TIM_OCMODE_PWM1;//pwm输出模式配置

sConfigOC.Pulse = x;

sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;

sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;

//pwm输出停止函数

if(HAL_TIM_PWM_Stop(&htim4,TIM_CHANNEL_1) != HAL_OK)

{

_Error_Handler(FILE, LINE);//错误等待函数

}

//pwm输出配置函数

if(HAL_TIM_PWM_ConfigChannel(&htim4,&sConfigOC,TIM_CHANNEL_1) != HAL_OK)

{

_Error_Handler(FILE,LINE);

}

//pwm输出开始函数

if(HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_1)!= HAL_OK)

{

_Error_Handler(FILE,LINE);

}

sConfigOC.Pulse = y;

sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;

sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;

//pwm输出停止函数

if(HAL_TIM_PWM_Stop(&htim4,TIM_CHANNEL_2) != HAL_OK)

{

_Error_Handler(FILE, LINE);//错误等待函数

}

//pwm输出配置函数

if(HAL_TIM_PWM_ConfigChannel(&htim4,&sConfigOC,TIM_CHANNEL_2) != HAL_OK)

{

_Error_Handler(FILE,LINE);

}

//pwm输出开始函数

if(HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_2)!= HAL_OK)

{

_Error_Handler(FILE,LINE);

}


sConfigOC.Pulse = z;

sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;

sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;

//pwm输出停止函数

if(HAL_TIM_PWM_Stop(&htim4,TIM_CHANNEL_3) != HAL_OK)

{

_Error_Handler(FILE, LINE);//错误等待函数

}

//pwm输出配置函数

if(HAL_TIM_PWM_ConfigChannel(&htim4,&sConfigOC,TIM_CHANNEL_3) != HAL_OK)

{

_Error_Handler(FILE,LINE);

}

//pwm输出开始函数

if(HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_3)!= HAL_OK)

{

_Error_Handler(FILE,LINE);

}


sConfigOC.Pulse = w;

sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;

sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;

//pwm输出停止函数

if(HAL_TIM_PWM_Stop(&htim4,TIM_CHANNEL_4) != HAL_OK)

{

_Error_Handler(FILE, LINE);//错误等待函数

}

//pwm输出配置函数

if(HAL_TIM_PWM_ConfigChannel(&htim4,&sConfigOC,TIM_CHANNEL_4) != HAL_OK)

{

_Error_Handler(FILE,LINE);

}

//pwm输出开始函数

if(HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_4)!= HAL_OK)

{

_Error_Handler(FILE,LINE);

}

}


关键字:STM32  学习笔记  PWM输出 引用地址:STM32学习笔记(PWM输出)

上一篇:STM32死机 调试时进入HardFault_Handler定位错误的方法
下一篇:stm32入门——PWM输出控制直流电机变速

推荐阅读

大联大控股宣布,其旗下世平推出基于德州仪器(TI)产品的先进驾驶辅助系统77G毫米波雷达解决方案。该解决方案基于TI AWR1642的77GHz雷达单芯片模块方案,主要应用于车载辅助驾驶中的:盲点检测、车道变换辅助、停车辅助、简单手势识别、汽车开门器应用等应用场景。毫米波Radar:工作频率在30~300GHz范围内,也有把24GHz的频率归为毫米波Radar,60~61GHz...
新的现代途胜(Hyundai Tucson)在关闭发动机的情况下能够以不到30公里/小时的速度滑行/刹车。这是一座通往48伏重度混合动力汽车的“桥梁”,而IDTechEx在一段时间以前就预见到了这一点。IDTechEx正确地预测到,48伏重度混合动力汽车将会很快面世,而不是在之后推出,新产品的范围也不会局限于汽车,因此新的IDTechEx报告《48V Mild Hybrid and 48V Fu...
据韩媒THE ELEC报道,得益于来自中国的需求,韩国显示设备制造商在2020年上半年的利润大幅增长。根据TheElec收集的数据,今年上半年,韩国31家显示设备企业的总销售额为5.318万亿韩元(约合人民币310.334亿元),较2019年同期增长29.6%;营业利润共计达5831亿韩元,同比增长111.2%。其中,对韩国该产业营收贡献最多的是华星光电。今年初截至6月30日,TCL...
近期,随着小米MIX 4的发布上市,骁龙888 Plus旗舰的新机潮也被正式拉开,后续又陆续登场了iQOO 8系列、腾讯ROG游戏手机5S系列等等。  现在,国内的一款骁龙888 Plus游戏手机也即将登场。  根据知名爆料博主@数码闲聊站透露,目前一款名为NX669J-S的努比亚新机已经获得3C认证,其中显示该机将配备120W超级快充,结合此前产品信息来看,这...

史海拾趣

问答坊 | AI 解惑

现代电源技术2-5

现代电源技术2-5…

查看全部问答∨

一些常用电子元件的3D库

有一些常用的电子元件(电阻,电容,二极管,IC等)的3D库。这也是我在网上找到的。为了尊重原主人的劳动,特贴出他的网址http://space.3dsource.cn/hnhkj/resource-0-1250.html。 我把它们都下载下来了,免去大家的再次下载之苦。…

查看全部问答∨

尽力破解高砂製作所EX系列电源设计思想(四)

在研究高砂的电路的时候你不会有太多先进的感觉,也许是十多年前的设计缘故。似乎觉得他的模拟电路设计没有什么过人之处,与EX-375所达到性能形成了另一种对比,既土土的设计也有好的性能,这大概是模拟应用设计的另一种辩证法。这个辩证法的核心既 ...…

查看全部问答∨

单片机 C语言函数速查

非常好用的C 语言速查手册。大家可以下载看看,给自己单片机编程语言绝对是个提高…

查看全部问答∨

电源线和地线的布线规则(很经典)

在PCB板布线中,整个PCB板中的布线完成得都很好,但如果电源、 地线的布置考虑不周到而引起干扰,使产品的性能下降,严重时会降低产品的成功率。要把电源线和地线处理好,将电源线和地线所产生的噪音干扰降到最低限度,以保证产品的质量。 一、电 ...…

查看全部问答∨

我的设备信息:usb\VID_19D2&PID_0017&MI_03\6&227C3C0A&0003,请问后面6&227C3C0A&0003这个是干什么用的?

我的设备信息:usb\\VID_19D2&PID_0017&MI_03\\6&227C3C0A&0003,请问后面6&227C3C0A&0003这个是干什么用的?…

查看全部问答∨

msp430f413出现的问题

利尔达430F413蕊片在应用中(基本显示电路)出现静态工作电流大(12μA), 原应2μA,请教如何解决!---------------陈工…

查看全部问答∨

汽车传动系统结构及各部分的功能

  汽车传动系统是汽车发动机与驱动轮之间的所有动力传递装置的总称,它最基本的作用就是进行动力之间的传送,也就是说汽车发动机在发动的时候产生的动力,需要经过传动系统来转化成驱动汽车车轮运动的动力,从而可以使汽车获得运动速度。汽车传 ...…

查看全部问答∨

CCS4新建工程项目路径问题

大家新建工程时,用到的一些库函数还是一直使用默认的目录吗? C:\\tidcs\\c28\\DSP2802x\\v126\\DSP2802x_headers\\include C:\\tidcs\\c28\\DSP2802x\\v126\\DSP2802x_common\\include 有修改后,没错误提示的工程吗?…

查看全部问答∨

请问在分块传送中,apscMaxWindowSize常量和block number是什么含义

如题,理解的很模糊,希望有大神能给清晰的解释一下…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved