TIM是Timer的简写,是STM32的一种外设 定时器分为高级定时器、通用定时器、基本定时器。 通用定时器框图# 这里只说明通用定时器的框图: 从图中可以看出使用内部时钟CK_INT作为定时器时钟输入,CK_PSC是输入预分频器PSC的时钟,CK_PSC经过PSC分频后得到定时器计数用的时钟CK_CNT; Auto-reload register(ARR)自动重装...
Auto-reload register (TIMx_ARR) The auto-reload register is preloaded. Writing to or reading from theauto-reload registeraccesses thepreload register. The content of thepreload registerare transferred into theshadow registerpermanently or at each update event (UEV), depending on the auto-reload p...
定时器中断是比较简单的事情,一般可以使用比较菜的TIM6和TIM7来完成定时器中断的业务。TIM6和TIM7叫Basic Timer,他俩连个输出的channel都没有,最适合做这个工作了。 可以看到TIM6和TIM7是挂载在APB1总线上的,于是TIM6和TIM7的内部时钟频率就是APB1总线的频率,不过还有一点区别。 从cubeMX展示的时钟树上可以发现...
从上到下解释一遍,PSC就是预分频器,对TIM定时器进行分频的。Counter Mode是计数模式、Counter Period 是自动重装载寄存器,internal Clock Division 是内部时钟分割系数, auto-reload preload 是自动重装载预加载,至此计数设置说完,然后是触发设置。 Master/Slave Mode 是主从模式,Trigger Event Selection 是触发事件选择。
TIM_TimeBaseStructure.TIM_Period = 10000 - 1; // Timer period (Auto-reload value) TIM_TimeBaseStructure.TIM_Prescaler = 7200 - 1; // Prescaler value TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; ...
其中TIM1和TIM8是能够产生3对PWM互补输出的高级登时其,常用于三相电机的驱动,时钟由APB2的输出产生。TIM2-TIM5是普通定时器,TIM6和TIM7是基本定时器,其时钟由APB1输出产生。由于STM32的TIMER功能太复杂了,所以只能一点一点的学习。因此今天就从最简单的开始学习起,也就是TIM2-TIM5普通定时器的定时功能。
/*Generate an update event to reload the Prescaler and the repetition counter (only for advanced timer) value immediately*/ TIMx->EGR = TIM_EGR_UG; } 其中,TIMx->EGR = TIM_EGR_UG;这行代码就是用来手动产生更新事件的。 我们知道,STM32定时器中有几个由预装寄存器和影子寄存器组成的寄存器组,他...
auto-reload-preload(自动重装载) : Enable 使能 TRGO Parameters 触发输出 (TRGO) :不使能 TRGO:定时器的触发信号输出 在定时器的定时时间到达的时候输出一个信号(如:定时器更新产生TRGO信号来触发ADC的同步转换,) TIM2配置选项的前两个为定时器主从模式配置,很少用到,我们用不到,所以全部关闭。
Auto-Reload Register at the next update event. This parameter must be a number between 0x0000 and0xFFFF. */ uint16_t TIM_ClockDivision; /*!<Specifies the clock division. This parameter can be a value of @ref TIM_Clock_Division_CKD*/ ...
自动重载寄存器 (Auto-reload Register):也称为定时器重载值寄存器 (Timer Reload Value Register),用于存储定时器的重载值。 NVIC (Nested Vectored Interrupt Controller):即嵌套向量中断控制器,用--于管理STM32F4微控制器的中断。 中断服务程序 (Interrupt Service Routine, ISR):也称为中断处理函数 (Interrupt Han...