蓝桥杯STM32 G431 hal库开发速成——输入捕获

蓝桥杯的输入捕获较为简单,基本不涉及溢出的问题。所以这里就不介绍溢出了。文末有源码。

一、Cubemx配置

在这里插入图片描述

二、代码编写

1.在捕获回调函数中


void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
	if(htim->Instance==TIM3)
	{
		switch(count)
		{
			case 1:
			{
				jishu1=__HAL_TIM_GET_COUNTER(&htim3);
			  __HAL_TIM_SET_CAPTUREPOLARITY(&htim3, TIM_CHANNEL_1, TIM_INPUTCHANNELPOLARITY_FALLING);
				count++;
				break;
			}
			
			case 2:
			{
				jishu2=__HAL_TIM_GET_COUNTER(&htim3);
			  __HAL_TIM_SET_CAPTUREPOLARITY(&htim3, TIM_CHANNEL_1, TIM_INPUTCHANNELPOLARITY_RISING);
				count++;
				break;
			}
			case 3:
			{
				jishu3=__HAL_TIM_GET_COUNTER(&htim3);
				count++;
				HAL_TIM_IC_Stop_IT(&htim3,TIM_CHANNEL_1);
				break;
			}
		}
	}
}

2.在main函数中

 LCD_Init();
  LCD_Clear(White);
  HAL_TIM_IC_Stop_IT(&htim3, TIM_CHANNEL_1);
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
	  switch(count)
	  {
		  case 0:
		  {
			  __HAL_TIM_SET_COUNTER(&htim3, 0);
			  HAL_TIM_IC_Start_IT(&htim3, TIM_CHANNEL_1);
			  __HAL_TIM_SET_CAPTUREPOLARITY(&htim3, TIM_CHANNEL_1, TIM_INPUTCHANNELPOLARITY_RISING);
			  count++;
			  break;
		  }
		  
		  case 4:
		  {
			  fre=1000000.0/(jishu3-jishu1);
			  zkb=(jishu2-jishu1)*100.0/(jishu3-jishu1);
//			  频率为占空比为
			  sprintf(buff,"zkb:%.2f%% fre:%.2f",zkb,fre);
			  LCD_DisplayStringLine(Line4, buff);
			  count=0;
			  break;
		  }
		  
	  }
  }
  /* USER CODE END 3 */
}

三、现象

通过调节开发版上的旋钮改变占空比跟频率
在这里插入图片描述
小编的源码输入捕获源码

最近更新

  1. TCP协议是安全的吗?

    2024-03-22 06:02:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-22 06:02:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-22 06:02:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-22 06:02:02       18 阅读

热门阅读

  1. 电商平台客户反馈的数据分析与应用

    2024-03-22 06:02:02       17 阅读
  2. 华岳M9制造企业管理软件业务流程 4/4

    2024-03-22 06:02:02       18 阅读
  3. c++石头剪刀布游戏

    2024-03-22 06:02:02       18 阅读
  4. 如何进行Web应用的版本控制和部署?

    2024-03-22 06:02:02       25 阅读
  5. cad vba 打开excel并弹窗打开指定文件

    2024-03-22 06:02:02       16 阅读
  6. 383.赎金信

    2024-03-22 06:02:02       17 阅读
  7. bert_base_chinese入门

    2024-03-22 06:02:02       20 阅读
  8. python 之 装饰器(Decorators)

    2024-03-22 06:02:02       16 阅读
  9. shell和linux的关系

    2024-03-22 06:02:02       16 阅读
  10. PostgresSQL中的死锁和锁等待

    2024-03-22 06:02:02       17 阅读