使用TIM定时器ETR管脚对外部脉冲进行计数,用PA0模拟产生脉冲进行计数。
芯片:STM32F103C8T6
输出:PA0、PA12(TIM1_ETR)、USART1
配置界面
TIM1配置
Period为计数溢出周期
代码应用
/* USER CODE BEGIN 2 */
HAL_TIM_Base_Start(&htim1);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,(GPIO_PinState)!HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0));
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,(GPIO_PinState)!HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0));
printf("num=%d\r\n",htim1.Instance->CNT);
}
/* USER CODE END 3 */
标准库获取计数器值用TIM_GetCounter函数,HAL函数中,直接调用值即可,好一顿找……