迅维网

标题: 【NUCLEO-F412ZG试用体验】之五:试试定时器 [打印本页]

作者: バ幸福De右岸    时间: 2017-2-13 15:04
标题: 【NUCLEO-F412ZG试用体验】之五:试试定时器
。。。
拷贝led工程代码,重命名为timer

                               
登录/注册后看高清大图
东西还是这些东西。新建一个timer.ctimer.h的文件,并加入工程当中

                               
登录/注册后看高清大图
然后查一下f4系列的手册,发现f4的定时器真特么多呀,搞的我都不知道该用那个了。。。这可怎么办。。。

                               
登录/注册后看高清大图
这时候忽然想起了一个3,就决定用timer3吧,根据上图,发现tim3属于通用功能定时器,查了下rcc源码,发现tim3属于APB1总线上挂接的,所以看下框图先

                               
登录/注册后看高清大图
然后查到了tim3的时钟来源,一级级分频来的,这个和f1基本差不多,但还是有区别。下面开始写代码好吧。。。timer.h中如下:

                               
登录/注册后看高清大图
timer.c中如下:

                               
登录/注册后看高清大图

                               
登录/注册后看高清大图
这里的代码主要配置了定时器的预分频器、计数阈值以及中断优先级这些,里面和f1都差不多,感觉也不难,挺好搞的。。。
main.c中为:

                               
登录/注册后看高清大图
如上搞定之后,写进去发现led2并没有闪烁,奇了怪了,后来启动调试,发现timer_cnt在增加,但是led确实没有闪烁,最后才发现原来上节写的led.c中有个小问题,就是配置io的时候没有指定配置的具体引脚,led.c改为如下,就好勒。。。

                               
登录/注册后看高清大图
上节实验结果只是点亮小灯,没有熄灭,所以没有指定配置引脚,也能亮,结果这节就找出了问题在此纠正过来啦。。。






欢迎光临 迅维网 (https://www.chinafix.com/) Powered by Discuz! X3.4