小熊派开发笔记-串口读取RS485输出的土壤七合一传感器数据(基于STM32CubeMX)

本文档详述了如何使用STM32CubeMX配置STM32L431RC开发板,结合HAL库创建工程,并通过Keil5-MDK编写代码实现与土壤七合一传感器的UART通信。通过发送问询帧并解析应答帧,获取传感器数据,例如温度。整个过程涵盖了环境搭建、硬件接线、工程创建、代码编写及程序烧录等步骤。

环境

  • JRE(Java Runtime Environment)
  • STM32CubeMX v6.3.0
  • HAL 库 L4 v1.7.0
  • Keil5-MDK

环境搭建参考:STM32CubeMX学习记录–安装配置与使用

如果不想去官网下,也可以从我的百度云分享里下载 STM32CubeMX 和 HAL 库

链接:https://pan.baidu.com/s/10MKGKPNQrIxZnuMZvVKqkg
提取码:zjor

硬件

  • 小熊派开发板

小熊派开发板

  • 土壤七合一传感器(水分、温度、电导率、氮磷钾、PH值)

土壤七合一传感器(水分、温度、电导率、氮磷钾、PH值)

  • RS485 转 TTL 模块

RS485 转 TTL 模块

接线图

  • 小熊派的 5v 电源接土壤传感器的 电源正
  • 小熊派的 GND 接土壤传感器的 电源地
  • 小熊派的 3.3v 电源接转接模块的 VCC
  • 小熊派的 GND 接转接模块的 GND
  • 小熊派的 UART2_TX 接转接模块的 TXD
  • 小熊派的 UART2_RX 接转接模块的 RXD
  • 转接模块的 A+ 接土壤传感器的 485-A
  • 转接模块的 B- 接土壤传感器的 485-B

创建工程

打开 STM32CubeMX,选择新建一个工程,如下图

新建工程

在输入框中输入 stm32l431rc,选中,然后双击选择中间 LQFP64 的这款,如下图

选择芯片

查看原理图,KEY1 按键对应的引脚为 PB2,如下图

按键原理图

在 STM32CubeMX 中选择 PB2 引脚输出模式为 GPIO_input

设置PB2引脚

设置 PB2 输出方式和别名,如下图

STM32CubeMX是一款由STMicroelectronics提供的图形化配置工具,它简化了STM32系列微控制器的初始化过程。对于基于STM32小熊(如STM32F4 Discovery套件搭配ST7789 TFT-LCD),你可以使用该工具创建一个基本示例程序,用于读取温湿度传感器数据,并将其显示在TFT-LCD上。 以下是大致步骤: 1. **项目设置**: - 打开STM32CubeMX,选择相应的STM32型号开发板,配置好GPIO、SPII2C等硬件资源,因为温湿度传感器通常通过这些接口通信。 - 确认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显示异常,如何调试排查问题? 记得在实际操作过程中,需要根据具体的传感器型号库文件文档调整细节。
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Apple_Coco

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值