ESP32物理串口问询读取PM2.5温湿度并输出至HMI串口屏

本文介绍了使用ESP32的物理串口功能来读取PM2.5和温湿度传感器数据,并通过Serial1接口发送至HMI串口屏的过程。作者优化了代码,将其封装为函数,方便调用。传感器通信速率设置为9600bps,采用特定的数据指令进行问询。实际应用中需删除调试信息,并确保向串口屏发送的指令不含换行符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前些天一直用Arduino UNO测试软串口读取PM2.5温湿度传感器,今天测试一下ESP32的3个物理串口功能,同也把之前的代码优化了一下,写成函数方便调用。

#include <HardwareSerial.h>
HardwareSerial MySerial1(1);
unsigned char pm25ask[9] = {0xFF, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07};
int back_data[40];
void setup() {
Serial.begin(115200);
MySerial1.begin(9600, SERIAL_8N1, 16, 17); //U1RXD=GPIO16,U1TXD=GPIO17

}

由于需要利用默认串口向HMI串口屏发送指令,这里将GPIO16、17定义为Serial1,设置与传感器相同速率9600;

pm25ask[9] = {0xFF, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07}是向传感器发送问询的数据指令,传感器应答帧长度40位;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值