cube HAL库 F7 配置pwm流程

本文我本人最先发表在这个地址http://group.chinaaet.com/4000264769/4100034324。现在将其搬运过来。
我入手的第一步就是点一个灯看看。当然就是很容易就实现了呀。接下来我觉得要搞点事情,从零开始接触cubemx图形化编程软件和 HAL库。接下来我就要说说我的学习过程了。

搭建环境我就不赘述了,大家自行去准备。由于我对定时器有一种特殊的情感,所以我第一个玩法就是使用定时器输出pwm点亮开发板上面的3个user leds。

1、 首先开始使用cube初始化TIMX.GPIO.

   找到用户手册上的leds 的引脚接口;


PB0,PB7,PB14, 高电平 点亮。过程不详细贴图,只将关键的部分详细描述。



1) 初始化引脚,然后贴出TIM3配置

 注意 RCC 也需要自己配置 如图的PH0,PH1的输入。

引脚配置

  主要是配置定时器时钟与输出通道。其他的time 配置不再详细说明;

 2)系统时钟配置

系统时钟配置

   3)定时器初始化

定时器初始化

   分频系数,重装载值,比较值,模式等都配置完成了。

4)生成工程文件;

大功告成

打开文件即可。

2编译下载即可。

(其实我原来也是这样想的,可是下载到板子上面,什么现象都没有,我就呵呵了。)

只能找问题咯,嘿嘿,我找了问题快花了10个小时,接下来说起来会很简单,但是在这个找问题的过程中,我深入了hal库,看了大量的手册。在此,我提醒广大的朋友,自己学习的时候,遇到问题一定要自己解决,可能别人一瞟就指出问题了,但是对于我们自己,重点是在找问题的过程中,摸索方法,积累经验。你要是不赞同我的话,上句可以忽略。比如我这次找问题,我完全无法在hal库中找的配置缺陷。我只能从寄存器来查看配置问题,因此,我摸熟了定时器的register,学会了软件调试查看寄存器的值。

最后我只给大家说说哪里出了问题,最后配置出来的工程只缺少了这样一条函数;

HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_3); //开启pwm输出;

这个函数最后定位在 TIMx->CCER |= (uint32_t)(ChannelState << Channel);

把ccer(capture\compare enable register)的 对应输出通道使能;不知道是我的cube 没配置对,还是软件本来就没有设置这个输出,需要用户自己去使能。

MDK 查看寄存器的值的方式:1.进入debug,2.click Peripherals 3.选择需要查看的寄存器。

这个是我个人经验,也是本人学习的总结。毕竟才疏学浅,难免有所错误,欢迎广大网友批评指正,大家共同进步。
我上传了一些我参考的手册,供大家学习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值