芯片:STM32F103C8T6
应用管脚:
输出:PA0、PA1
TIM3
实现1ms定时功能,系统TIMx_CNT=8MHZ=8000 000HZ,设置TIMx_PSC=800-1,那么TIMx_ARR=(TIMx_CNT/TIMx_PSC)*定时器时间=(8000000/800)*0.001=10,TIMx_ARR=10-1。
配置界面
TIM3配置
开启NVIC中断配置
程序中增加回调函数
/* USER CODE BEGIN 4 */
/**
* @brief Period elapsed callback in non blocking mode
* @param htim : TIM handle
* @retval None
*/
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim==&htim3)
{
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,(GPIO_PinState)!HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0));
}
}
/* USER CODE END 4 */
启动TIM3定时器
/* USER CODE BEGIN 2 */
HAL_TIM_Base_Start_IT(&htim3);
/* USER CODE END 2 */
本文介绍如何使用STM32F103C8T6微控制器的TIM3定时器实现1毫秒的定时功能。通过配置TIM3的预分频寄存器TIMx_PSC为799,自动装载寄存器TIMx_ARR为9来达到目的。此外,还介绍了NVIC中断配置及回调函数的编写。
4348

被折叠的 条评论
为什么被折叠?



