STM32CubeMX基础例程(小熊派):04.ADC采集烟雾浓度

1、准备开发板

这里我选用了一块网红开发板:”小熊派“,这款板子的人气比较高,还是全国大学生物联网设计竞赛(华为杯)的华为竞赛开发板,我个人也比较喜欢用这款板子,这款板子在放在纸箱吃灰半年之后,被我重新拿了起来,并想借此写博客的机会,整理一下自己的代码。

开发板功能区分布图

在这里插入图片描述

开发板俯视图

在这里插入图片描述

2、STM32CubeMX生成代码

在这里插入图片描述

搜索并选择芯片型号

在这里插入图片描述

配置系统时钟

在这里插入图片描述

配置时钟树

STM32L4的最高主频可达到80M,最后使HCLK = 80Mhz即可:

在这里插入图片描述
在这里插入图片描述

配置串口

在这里插入图片描述

配置ADC

在这里插入图片描述
在这里插入图片描述

生成工程设置

在这里插入图片描述

代码生成配置

在这里插入图片描述

生成代码

在这里插入图片描述

生成成功

在这里插入图片描述

3、在MDK中编写代码

在adc.h中的用户代码区编写以下代码

/* USER CODE BEGIN Prototypes */
uint32_t ADC_GetValue(void);
/* USER CODE END Prototypes */

在adc.c中的用户代码区编写以下代码

uint32_t ADC_GetValue(void)
{
	uint32_t adc_value;
	HAL_ADC_Start(&hadc1);                    //启动ADC单次转换
	HAL_ADC_PollForConversion(&hadc1, 50);    //等待ADC转换完成
	adc_value = HAL_ADC_GetValue(&hadc1); //读取ADC转换数据
	return adc_value;
}

在main.c中的main函数的用户代码区编写以下代码

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

    /* USER CODE BEGIN 3 */
		float smoke_value = (float)ADC_GetValue()/4096*3.3;
		printf("smoke_value:%f\r\n",smoke_value);
		HAL_Delay(1000);
  }
  /* USER CODE END 3 */

在这里插入图片描述

4、配置烧录器

在这里插入图片描述
在这里插入图片描述

5、烧录代码

在这里插入图片描述

6、实验现象

在这里插入图片描述

STM32CubeMX是一款由STMicroelectronics提供的图形化配置工具,它简化了STM32系列微控制器的初始化过程。对于基于STM32的小熊派(如STM32F4 Discovery套件搭配ST7789 TFT-LCD),你可以使用该工具创建一个基本示例程序,用于读取温湿度传感器的数据,并将其显示在TFT-LCD上。 以下是大致步骤: 1. **项目设置**: - 打开STM32CubeMX,选择相应的STM32型号和开发板,配置好GPIO、SPI和I2C等硬件资源,因为温湿度传感器通常通过这些接口通信。 - 确认LCD模块的配置,包括时钟、数据线、命令线等。 2. **传感器集成**: - 添加支持温湿度传感器的库文件,比如DHTxx库。在组件搜索框中查找并添加这个库。 - 配置传感器的GPIO引脚以及中断(如果有的话),以便及时获取新数据。 3. **编写主函数**: - 在`main.c`文件中,初始化传感器和TFT-LCD模块。 - 编写一个循环,定期调用传感器读数函数,并将结果显示为字符串格式。 - 对于TFT-LCD,你可以使用库提供的API来绘制文本或图像,更新LCD的内容。 ```c void main(void) { // 初始化传感器... DHT_Init(); // LCD初始化... while (1) { float humidity = DHT_ReadHumidity(); float temperature = DHT_ReadTemperature(); displayTextOnLCD(humidity, temperature); // 自定义函数显示数值 delay_ms(1000); // 每秒刷新一次数据 } } ``` 4. **相关问题--:** - 如何在STM32CubeMX中找到并配置温湿度传感器? - 使用哪种库可以方便地在STM32上操作ST7789? - 如果LCD显示异常,如何调试和排查问题? 记得在实际操作过程中,需要根据具体的传感器型号和库文件文档调整细节。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值