hlxe 发表于 2024-3-11 19:39:40

定时器上升沿写数据

请问如何在一个时钟的上升沿准备写数据,并对这个时钟进行计数,当计数到一定值时能够输出一个脉冲,感谢!!!

lb0857 发表于 2024-3-11 21:01:40

// 中断服务函数
void TIM2_IRQHandler(void) {
    if (TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET) {
      // 捕获事件,增加计数器
      counter++;

      if (counter >= threshold) {
            // 达到阈值,输出脉冲
            GPIO_ToggleBits(GPIOA, GPIO_Pin_1);
            counter = 0; // 重置计数器
      }

      TIM_ClearITPendingBit(TIM2, TIM_IT_CC1);
    }

    if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) {
      TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
    }
}

// 主循环
页: [1]
查看完整版本: 定时器上升沿写数据