从0开始的STM32HAL库学习4

对射式红外传感器计数复现

配置工程

我们直接复制oled的工程,但是要重命名。

将PB14设置为中断引脚

自定义命名为sensorcount

 设置为上升沿触发

打开中断

配置NVCI

都为默认就可以了

修改代码

修改stm32f1xx_it.c 文件

找到中断函数并修改

void EXTI15_10_IRQHandler(void)
{
  /* USER CODE BEGIN EXTI15_10_IRQn 0 */
	if(__HAL_GPIO_EXTI_CLEAR_FLAG(sensorcount_Pin))
	{
  /* USER CODE END EXTI15_10_IRQn 0 */
		HAL_GPIO_EXTI_IRQHandler(sensorcount_Pin);
  /* USER CODE BEGIN EXTI15_10_IRQn 1 */
  count+=1;
	}
  /* USER CODE END EXTI15_10_IRQn 1 */


}

定义一个count用于计数

添加计数函数

/* USER CODE BEGIN 1 */
uint16_t get_sensorcounter(void)
{
	return count;
}
/* USER CODE END 1 */

修改main函数文件

找到void main并修改

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();
  /* USER CODE BEGIN 2 */
  OLED_Init();
  OLED_Clear();

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
	  OLED_ShowNum(1, 1, get_sensorcounter(), 5);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

/**
  * @brief System Clock Configuration
  * @retval None
  */

 

 

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 19:50:04       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 19:50:04       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 19:50:04       57 阅读
  4. Python语言-面向对象

    2024-07-11 19:50:04       68 阅读

热门阅读

  1. 数据建设实践之数据规范

    2024-07-11 19:50:04       21 阅读
  2. Google订阅补坑

    2024-07-11 19:50:04       23 阅读
  3. 低代码开发在金融系统中的应用研究

    2024-07-11 19:50:04       19 阅读
  4. conda 创建新的虚拟环境报错

    2024-07-11 19:50:04       21 阅读
  5. C++处理json数据注意点(url传递接收json数据)

    2024-07-11 19:50:04       20 阅读
  6. Windows批处理指令与Shell的关系

    2024-07-11 19:50:04       19 阅读
  7. 模电基础 - 直流电源

    2024-07-11 19:50:04       23 阅读
  8. Python魔法函数(Magic Methods简介

    2024-07-11 19:50:04       23 阅读
  9. C语言 输出n阶魔方阵

    2024-07-11 19:50:04       24 阅读
  10. ARM/Linux嵌入式面经(十一):地平线嵌入式实习

    2024-07-11 19:50:04       22 阅读
  11. xss攻击

    2024-07-11 19:50:04       22 阅读
  12. Rust简明教程第六章-错误处理&生命周期

    2024-07-11 19:50:04       25 阅读
  13. 【Django】Django 使用连接串配置数据库

    2024-07-11 19:50:04       22 阅读
  14. Sass 和 SCSS

    2024-07-11 19:50:04       19 阅读
  15. 系统迁移从CentOS7.9到Rocky8.9

    2024-07-11 19:50:04       23 阅读
  16. 深入理解CSS中的块格式化上下文(BFC)

    2024-07-11 19:50:04       21 阅读