STM32学习8

来源:互联网 发布:n反斜杠百分之d c语言 编辑:程序博客网 时间:2024/05/21 03:17

1.      今天把普中开发板上的RS232芯片烧坏了,所以接下来要完成stlink的使用,来下载程序,同时也尝试调试程序,也算是被逼的去学一个很有用的工具,本来我都不想学stlink的。

2.      先学习一下stm32的定时器,过程中,加入stlink的下载和调试。

3.      定时器:stm32分高级定时器(TIM1和TIM8),通用定时器(TIM2-5),基本定时器(TIM6,7)。

4.      通用定时器(TIM2-5):1)位于低速APB1总线上。2)预分频:将计数器时钟频率降低。3)各个通用定时器之间是完全独立的。4)向上计数:从0到加载值,其他类似。5)定时器的时钟来源,可以来源于内部的APB1时钟倍频提供,这是时钟来源之一,但是用的比较多,也比较简单。

5.      通用定时器工作过程,只要有印象就可以,在配置的时候知道在配置什么。

6.      这是时钟的计算方法,其中APB1的时钟来源于AHB,如果APB1 = AHB,也就是APB1 = 1 * AHB,那么,此时的CK_INT = APB1,而如果APB1 = AHB / 2,那么这时候CK_INT = 2 * APB1的时钟,得到定时器的原始时钟。

7.      溢出时间 Tout = (ARR + 1)*(PSC+1) / TCLK,就是Tclk /(PSC+1)的倒数,得到原始时钟被分频后的频率,倒数就是时钟周期,那么再乘以重装值,就得到了溢出时间。一般时钟TCLK为72MHz。

8.      现在为战舰开发板,LED0->PB5红色  LED1->PE5蓝色

9.      注意:在要使用相应的库函数的时候,需要添加库函数的.c文件到FWLIB中,但是在使用template工程模板的时候不用考虑,已经全部加载进去了,我们只要写自己的功能函数就可以。

10.  定时器初始化步骤:1)使能定时器时钟APB1。2)初始化定时器,配置ARR,PSC,以及计数方式。3)使能定时器中断,配置NVIC,不要忘了在主函数中加入设置中断优先级分组的一句!4)使能定时器自身。5)编写中断服务函数。具体参数配置见功能函数中注释。

11.  注:电平的翻转,好像可以使用~  或者 !实现。

0 0
原创粉丝点击