看门狗防止程序跑飞
系统滴答定时器:HAL_Delay()函数
输入捕获是为了测得一些系统的频率
cubemx图形化配置时,需要输入与预分频器(Prescaler)和主计数器(Counter Period)的值
例子:
一般选择内部时钟
里面的第三行,选择内部时钟
随后设置Prescaler和Counter Period
然后点NVIC中间这个然后 使能其中断
定时器函数:
1.定时器的初始化:
在这些所有的初始化后,将中断使能放置在其下
(有IT是中断使能定时器,也有非中断对定时器的使能)两个函数都在
stm32xxx_hal_tim.c里面
HAL_TIM_Base_Start_IT(&htim2);//这部分自己添加, 要在初始化之后,将它中断使能
HAL_TIM_Base_Start_IT(&htim3);
使能哪些在TIM.c文件里面有
回调函数
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim->Instance==TIM2)
{
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_9);
}
if(htim->Instance==TIM3)
{
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_8);
}
}
放置在主函数里面
HAL_TIM_TriggerCallback(htim):
当定时器触发器触发时调用的回调函数。
例如,在输入捕获模式下,当定时器的触发器引脚检测到一个上升沿或下降沿时,这个回调函数会被调用。
HAL_TIMEx_BreakCallback(htim):
当定时器捕获到一个break事件时调用的回调函数。
通常用于在定时器的高级模式下(例如主-从模式)处理一些特殊事件。
HAL_TIM_PeriodElapsedCallback(htim):
当定时器的计数器溢出并重新加载时调用的回调函数。
这个回调函数常用于实现周期性任务,比如时间测量或周期性的数据采集。
HAL_TIM_OC_DelayElapsedCallback(htim):
当定时器的输出比较通道延迟时间到达时调用的回调函数。
在输出比较模式下,当定时器的计数器值等于比较寄存器的值时,可以通过这个回调函数执行某些操作。
HAL_TIM_PWM_PulseFinishedCallback(htim):
当定时器的PWM波形生成完成时调用的回调函数。
在PWM输出模式下,当定时器的计数器值达到设定的PWM脉冲周期时,会调用这个回调函数。
HAL_TIM_IC_CaptureCallback(htim):
当输入捕获事件发生时调用的回调函数。
用于捕获外部信号的时间戳或测量外部信号的周期
定时器的中断服务函数:
void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
void TIM2_IRQHandler(void)
{
/* USER CODE BEGIN TIM2_IRQn 0 */
/* USER CODE END TIM2_IRQn 0 */
HAL_TIM_IRQHandler(&htim2);
/* USER CODE BEGIN TIM2_IRQn 1 */
/* USER CODE END TIM2_IRQn 1 */
}