STM32 LL库之定时器的使用

    STM32cubeMx用过的小伙伴应该都知道,初始化外设很方便很简单,也减少自己配置外设的错误率。但是有个问题也导致一些伙伴放弃使用cubeMx,就是cube基于的HAL库生成的代码编译出来占用空间大,用起来方便但是出现问题不好查找,还有就是运行效率不够高。所以st又推出了LL库,LL库同样可以和stm32cubeMx配合起来。

   最近用到定时器,就把基于LL库如何使用定时器做个总结。我使用的是stm32F031K6的芯片,有的系列st的LL库可能还在更新之中。

   首先就是把自己的stm32CubeMx升级为最新版本,确保已经集成了LL库。

   定时器我用到两个:一个是tim17用来作为计数,10ms产生一次中断。  一个是tim3用来做pwm捕获输入。如下如所示:

   

    再看tim17的详细配置:(这个配置和使用HAL库的时候是一样的,记得要使能中断)

    再看下tim3的配置,配置通道1作为捕获输入:

    

这样配置好以后生成代码。LL库就不想HAL库封装的那么好,函数接口也不一样。所以想让定时器运行就需要深入看一下定时器的参考手册部分。

定时器17启动的以及中断函数代码如下:

定时器3的pwm捕获功能的代码如下:

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注