使用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通道上做。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』