19.10实操-CubeMX软件配置定时器输出PWM信号的实现过程_第1页
19.10实操-CubeMX软件配置定时器输出PWM信号的实现过程_第2页
19.10实操-CubeMX软件配置定时器输出PWM信号的实现过程_第3页
19.10实操-CubeMX软件配置定时器输出PWM信号的实现过程_第4页
19.10实操-CubeMX软件配置定时器输出PWM信号的实现过程_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实操:CubeMX软件配置定时器输出PWM信号的实现过程1STM32程序设计案例教程电子工业出版社欧启标任务目标使用STM32的定时器产生周期为2s,占空比为20%的脉冲信号。定时器的时钟源采用内部时钟。1.选择定时器及其PWM信号输出通道

由于我们所使用的开发板只有LED接口可以方便观察定时器的PWM调制效果,而LED接口接在PF9和PF10中,而通过查表9-7可知只有PF9是TIM14的通道1,所以我们以TIM14的通道1产生的PWM信号来控制接在PF9的LED0。2.设置时基单元的值在设置TIM14的时基单元和PWM单元之前首先明确,TIM14的内部时钟频率为84MHz。①设置计数器的输入信号的频率。这一步通过设置PSC的值来获得。PSC的值可以有多种可能,在此我们设置为8399,这样计数器的输入信号频率就被设置为10kHz(对应的信号周期为0.1ms)。【思路分析】

②设置定时器的计数周期,这通过设置ARR的值来达到。由于输入计数器的信号周期为0.1ms,任务要求定时器的周期为2S,所以计数周期为2S/0.1ms=20000,所以应该设置ARR的值为19999(注意,不要超出ARR的范围).3.设置PWM模块①设置捕获/比较模块的工作模式。可以设置为PWM模式1,当计数器CNT的值<CCR的值时OC1REF端输出有效电平(高电平)。②设置OC1极性为高电平,即OC1通道信号等于OC1REF的信号。也即CNT<CCR的值时,PWM通道输出高电平,LED0灭。③设置捕获比较寄存器CCR的值。由于题目中要求的占空比为20%,也即每个周期高电平时间为2s*20%=0.4S,所以CCR的值我们设置为4000。【实现过程】1.选择目标芯片。2.配置引脚工作模式。将PF9复用为TIM14_CH1功能,如图9-28所示,注意此时引脚变成了橙色而不是亮绿色,原因是此时只对该引脚进行了设置,还没有进行使能,使能后才变成亮绿色。3.设置外设。①设置时钟模块;②设置TIM14。●激活TIM14,然后选择通道功能为PWMGenerationCH1,可以看到PF9引脚变为了亮绿色!●设置PSC=8399,可得定时器计数器的输入信号频率为10kHz;●设置计数周期(ARR)选项的值为19999;●设置PWM模块的Pulse(CCR)的值为4000;●设置PWM的工作模式(Mode)为PWM模式1;此时计数器从0数到3999时,OC1REF输出高电平,从4000数到19999时OC1REF为低电平;●设置OC1通道的有效电平为高电平,这样OC1与OC1REF同相。其余采用默认值(默认计数方式是递增!)。设置完成后,结果如图9-29所示。图9-29定时器TIM14输出PWM信号时的设置4.对工程进行配置并输出代码。这里将函数名取为9-3TIM14_PWM。5.编写用户程序。这里需要在main函数中增加采用PWM方式开启TIM14的代码,如下HAL_TIM_PWM_Start(&htim14,TIM_CHANNEL_1);添加位置如图9-30所示。

注意,开启定时器的HAL库函数只有一个入口参数,而定时器输出PWM的开启函数则有两个参数。【任务结果】

编译并将结果下载到开发板上,可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论