CubeMX 的使用实例详细(04.6)- STM32F103的 - 定时器设定 - callback调用 - 实现1S的定时更新LED灯

 2023-09-07 阅读 24 评论 0

摘要:调用HAL来控制定时器,应该是CubeMX必须走的道路:在CubeMX中需要如何设定?如何利用callback来进行调用?如何计算1S的定时 1 Timer的定时 1.1 CubeMX里面的设定 1.1.1 模式和配置 1.1.2 参数配置 1.1.3 中断设置 简述STM32定时器的计数器模式、 中断

调用HAL来控制定时器,应该是CubeMX必须走的道路:在CubeMX中需要如何设定?如何利用callback来进行调用?如何计算1S的定时


1 Timer的定时

1.1 CubeMX里面的设定

1.1.1 模式和配置

1.1.2 参数配置

1.1.3 中断设置

简述STM32定时器的计数器模式、

中断设置必须打开,才能有中断,从而,才能有中断处理,才有中断回调函数的执行。


2 call back:

int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_TIM3_Init();MX_TIM1_Init();MX_TIM4_Init();/* USER CODE BEGIN 2 *//*##-2- Register a callback function #######################################*/if (HAL_TIM_RegisterCallback(&htim1,HAL_TIM_PERIOD_ELAPSED_CB_ID,(pTIM_CallbackTypeDef)HAL_Callback_LED_Blink) != HAL_OK){/* Starting Error */Error_Handler();}// it is not a interrupt timer HAL_TIM_Base_Start(&htim1); // Start timer1 Base 1S/*##-3- Start the TIM Base generation in interrupt mode ####################*/
/* Start Channel1 */
if (HAL_TIM_Base_Start_IT(&htim1) != HAL_OK)
{
/* Starting Error */
Error_Handler();
}

注意,这里我们使用的是TIMER的中断,那么时基的开始函数是:

 HAL_TIM_Base_Start_IT

redis使用实例,要加IT ,INTERRUPT的后缀,否则是不会来中断的!!!

Call back 函数里面调用GPIO口的设定工作:

void HAL_Callback_LED_Blink(TIM_HandleTypeDef *htim)
{// HAL_GPIO_WritePin(LED_INFO_GPIO_Port, LED_INFO_Pin, GPIO_PIN_SET);HAL_GPIO_TogglePin(LED_INFO_GPIO_Port,LED_INFO_Pin);
}

 

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/15250.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息