STM32
直播中

张旭

7年用户 1001经验值
私信 关注
[问答]

怎样使用TIM1_ETR管脚对外部脉冲进行计数呢

怎样使用tiM1_ETR管脚对外部脉冲进行计数呢?有哪些操作步骤呢?

回帖(1)

励黎

2021-11-24 11:02:08
  1、配置方法
  使用TIM1_ETR管脚对外部脉冲进行计数,用PA5模拟产生脉冲进行计数。
  芯片:STM32F103RCT
  输出:PA5、PA12(TIM1_ETR)
  时钟:系统时钟配置为72M
  操作:通过杜邦线将PA5连接到PA12(TIM1_ETR)
  CubeMX(版本5.2.1)的配置界面:
  
  2、主函数代码
  /**
  * @brief The application entry point.
  * @retval int
  */
  int main(void)
  {
  /* USER CODE BEGIN 1 */
  /* USER CODE END 1 */
  /* MCU Configuration--------------------------------------------------------*/
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();
  /* USER CODE BEGIN Init */
  /* USER CODE END Init */
  /* Configure the system clock */
  SystemClock_Config();
  /* USER CODE BEGIN SysInit */
  /* USER CODE END SysInit */
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_TIM1_Init();
  /* 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 */
  //翻转引脚PA5 产生方波
  /* USER CODE BEGIN 3 */
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
  HAL_Delay(1000);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
  HAL_Delay(1000);
  }
  /* USER CODE END 3 */
  }。
  3、 现象
  观察下图寄存器即可,成功实现外部计数器功能。在STM32F103开发板上成功实现。
  也可以通过串口打印功能,通过串口助手观察CNT计数值。
  本人第一次博客分享,不足之处请指出,有点帮助请鼓励!
  
举报

更多回帖

发帖
×
20
完善资料,
赚取积分