从f769的datasheet可以知道有15个timer。
其中timer2,3,4,5这4个timer是通用定时器。其中详细分类是16-bit (TIM3, TIM4) or 32-bit (TIM2 and TIM5)
本贴主要讲解通用定时器,tim3,4。
框图如下
从框图可见,定时器是时钟源可以是来自系统的主时钟,也可以外接时钟。本帖只研究来自系统时钟。
也就是需要配置rcc的寄存器APB1ENR来给定时器提供时钟源,如下
RCC->APB1ENR|=1<<1; tim3
随后开始定时器的寄存器详细配置
首先要配置自动加载寄存器Auto-Reload Register
TIM3->ARR=500;
随后对时钟源进行分频
TIM3->PSC=psc;
需要产生中断,可以使能中断
TIM3->DIER|=1<<0; 可选
最后使能定时器即可工作。
TIM3->CR1|=0x01;
以上就是通用定时器的初始化。
需要的可以加到自己的代码运行即可。
当然内核core中断使能及优先级部分,还需要自己添加。
点击此处,查看STM32F769I开发板官方资源。