×
单片机 > 单片机程序设计 > 详情

STM32定时器单脉冲输出

发布时间:2020-08-27 发布时间:
|

使用stm32cubemx配置外设,代码使用HAL stm32f1 v1.3.1库。

用的是stm32l152c开发板,时钟频率32MHZ。

  • while (1)  

  • {  

  • /* USER CODE END WHILE */  

  •   

  • /* USER CODE BEGIN 3 */  

  •   

  •   if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0) == GPIO_PIN_SET) {  

  •     HAL_Delay(100);  

  •       

  •     if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0) == GPIO_PIN_SET) {  

  •       __HAL_TIM_ENABLE(&htim4);  

  •       HAL_TIM_OnePulse_Start(&htim4, TIM_CHANNEL_2);  

  •     }  

  •   }  

  •     

  • }  

  • /* USER CODE END 3 */  


  • HAL_TIM_OnePulse_Start函数有问题,它总是使能1、2两个通道,而且它不启用定时器的计数。


    因此,在它之前要使用宏 __HAL_TIM_ENABLE,置位 TIMx_CR1的CEN。


    需要注意到,单脉冲功能,只能在1、2通道上做。



    『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

    热门文章 更多
    浅谈AVR中定时器几种工作模式