基于Visual Studio 2019编写出关于温湿度的上位机代码
时间: 2023-12-15 08:04:25 浏览: 43
好的,下面是一个简单的基于Visual Studio 2019的上位机代码示例,可以读取DHT11或DHT22传感器的温度和湿度数据,并将其显示在上位机界面上:
```csharp
using System;
using System.IO.Ports;
using System.Windows.Forms;
namespace Temperature_Humidity_Monitor
{
public partial class MainForm : Form
{
SerialPort port;
public MainForm()
{
InitializeComponent();
// 初始化串口
port = new SerialPort();
port.PortName = "COM3"; // 修改为你的串口号
port.BaudRate = 9600; // 修改为你的波特率
port.Parity = Parity.None;
port.DataBits = 8;
port.StopBits = StopBits.One;
port.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
}
private void MainForm_Load(object sender, EventArgs e)
{
try
{
port.Open();
}
catch (Exception ex)
{
MessageBox.Show("串口打开失败:" + ex.Message);
}
}
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (port.IsOpen)
{
port.Close();
}
}
private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
// 读取串口数据
string data = port.ReadLine();
// 解析温湿度数据
string[] values = data.Split(',');
if (values.Length == 2)
{
float temperature = float.Parse(values[0]);
float humidity = float.Parse(values[1]);
// 在UI线程中更新界面
this.Invoke(new Action(() =>
{
temperatureLabel.Text = temperature.ToString("0.0") + " ℃";
humidityLabel.Text = humidity.ToString("0.0") + " %";
}));
}
}
}
}
```
这是一个Windows Forms应用程序,包括一个窗体和两个标签(分别显示温度和湿度)。在窗体的Load事件中,我们初始化了串口,并在串口数据接收事件中读取传感器数据并更新界面。你需要修改代码中的串口号和波特率,以便与你的传感器相匹配。
希望这个示例代码能帮助你开始编写你自己的温湿度上位机应用程序。如果你有任何问题或需要更多帮助,请随时问我。