stm32 HAL库 定时器定时使用

1、SYS

2、RCC

3、Clock

4、选择定时器

这里我选的TIM2

时钟72MHZ

这里我们arr = 9999   psc = 7199  tclk = 72mhz

Tout = (10000*7200)/72us = 1s

5、生成代码

6、进入main.c文件

在main函数中添加以下代码

	HAL_TIM_Base_Start_IT(&htim2);          /*使能定时器2中断*/
	HAL_ADCEx_Calibration_Start(&hadc1);    //AD校准

7、重写定时器中断回调函数

在函数中编写需要处理的逻辑

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
    if (htim == (&htim2))
    {
		printf("zhuzhuzhu\n");//打印
    }
}

7、编译下载,观察现象

定时器定时1s进入一次中断,需要多长时间自己设定

也就是1s串口打印一次

7、注:

只定时一次

每次需要使用手动开启手动关闭,便于自己掌控,个人比较喜欢用这种方式

相关函数

HAL_TIM_Base_Start_IT(&htim2);          /*使能定时器2中断*/
HAL_TIM_Base_Stop_IT(&htim2); /*关闭使能定时器2中断*/

只处理一次现象

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于使用STM32F103芯片和HAL库进行定时器定时的方法,可以按照以下步骤进行操作: 1. 首先,需要在CubeMX软件中配置定时器的基本设置。打开CubeMX,选择正确的芯片型号,然后在"Pinout & Configuration"选项卡中找到定时器模块。选择一个可用的定时器通道,并设置相关的参数,例如预分频系数和计数器周期等。 2. 在CubeMX的"Configuration"选项卡中,找到"TIMx Configuration",其中"x"为你选择的定时器通道。在这里,你可以设置定时器的工作模式(例如定时器模式、输入捕获模式或PWM输出模式)、计数方向和自动重载值等。 3. 在CubeMX中完成配置后,点击"Project"菜单并选择"Generate Code"生成代码。CubeMX将会自动生成初始化定时器的代码,并将其添加到你的工程中。 4. 现在,在你的代码中找到生成的定时器初始化函数(例如"HAL_TIM_Base_Init"),并调用该函数来初始化定时器。根据需要,你还可以调用其他相关的函数来配置定时器中断、启动定时器等。 5. 最后,在定时器中断处理函数中编写你要执行的定时任务代码。当定时器达到设定的时间后,中断将触发,并执行相应的处理函数。 以上是使用STM32F103芯片和HAL库进行定时器定时的基本步骤。根据具体需求,你可能需要进一步了解和配置定时器的其他功能,例如输入捕获、PWM输出等。你可以查阅相关的文档和资料来获取更详细的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值