一、CubeMX工程创建
一张图直接看明白
Serial Wire, 外部高速晶振,LED引脚配置
最关键的定时器配置
别忘了NVIC
最后生成代码
二、代码编写
中断开启函数
/* USER CODE BEGIN 2 */
HAL_TIM_Base_Start_IT(&htim2);
HAL_TIM_Base_Start_IT(&htim6);
/* USER CODE END 2 */
中断回调函数(相当于51的 interrupt)
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim->Instance == htim2.Instance)
{
static int16_t tim_delay;
if(++tim_delay>=500) // 1ms * 500 = 500ms
{
tim_delay = 0;
HAL_GPIO_TogglePin(LED_1_GPIO_Port, LED_1_Pin);
}
}
if(htim->Instance == htim6.Instance)
{
static int16_t tim2_delay;
if(++tim2_delay>=200) // 1ms * 500 = 500ms
{
tim2_delay = 0;
HAL_GPIO_TogglePin(LED_2_GPIO_Port, LED_2_Pin);
}
}
}