【NUCLEO-G071RB】010——TIM6-基本定时器

NUCLEO-G071RB:010——TIM6-基本定时器

基本定时器

基本定时器只能用于计时,可以配置有无上溢出中断,它基本到不支持下溢出中断。它的时钟源(应该)是TPCLK,内置预分频器(PSC)和自重装寄存器(ARR,相当于计数上限寄存器)

设计目标

  • 配置TIM6的中断频率为1000Hz,每1S翻转一次PA5的输出。

芯片配置

1、以HSI为时钟源
(图略)
2、配置PA5(板载LD4灯)为推挽输出L
(图略)
3、配置TIM6的中断频率为1000Hz,中断优先级为LV1
  如果你希望使用x分频,就要往里填写“x-1”;ARR的设置同理。
  中断频率 = (模块时钟 ÷ 分频系数) ÷ 计数上限
在这里插入图片描述
在这里插入图片描述

程序修改

1、tim.c中,增加启动TIM6的函数,即将进入主循环前,要调用它

void HAL_TIM6_Base_Start_IT(void)
{
    HAL_TIM_Base_Start_IT(&htim6);
}

2、再增加TIM6溢出中断服务子函数

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
    if(htim->Instance == TIM6)
    {
        tim_ms ++;
    }
}

3、主循环内增加电灯代码

  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
      
      if(tim_ms % 2000 < 1000)
      {
          HAL_GPIO_WritePin(PA5_OUT_LD4_GPIO_Port, PA5_OUT_LD4_Pin, GPIO_PIN_RESET);
      }
      else
      {
          HAL_GPIO_WritePin(PA5_OUT_LD4_GPIO_Port, PA5_OUT_LD4_Pin, GPIO_PIN_SET);
      }
  }

运行测试

1、LD4的闪烁周期是2s,占空比为50%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值