sc 1 month ago
parent
commit
70b04e0892
  1. 5
      SunlightCentralizedControlManagement_SCCM_.csproj
  2. 34
      ViewModel/MainWindowViewModel.cs

5
SunlightCentralizedControlManagement_SCCM_.csproj

@ -497,7 +497,10 @@
<Version>4.3.0</Version>
</PackageReference>
<PackageReference Include="TouchSocket">
<Version>3.0.9</Version>
<Version>3.1.16</Version>
</PackageReference>
<PackageReference Include="TouchSocket.SerialPorts">
<Version>3.1.16</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>

34
ViewModel/MainWindowViewModel.cs

@ -164,7 +164,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
port1.StopBits = StopBits.One;
port1.ReadTimeout = 500;
port1.WriteTimeout = 500;
port1.Encoding = Encoding.GetEncoding("ASCII");
port1.Open();//打开串口
port1.DataReceived += new SerialDataReceivedEventHandler(SerialPort1_DataReceived);
UPort1 = true;
}
catch (Exception e)
@ -184,7 +186,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
port2.StopBits = StopBits.One;
port2.ReadTimeout = 500;
port2.WriteTimeout = 500;
port2.Encoding = Encoding.GetEncoding("ASCII");
port2.Open();//打开串口
port2.DataReceived += new SerialDataReceivedEventHandler(SerialPort2_DataReceived);
UPort2 = true;
}
catch (Exception e)
@ -204,7 +208,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
port3.StopBits = StopBits.One;
port3.ReadTimeout = 500;
port3.WriteTimeout = 500;
port3.Encoding = Encoding.GetEncoding("ASCII");
port3.Open();//打开串口
port3.DataReceived += new SerialDataReceivedEventHandler(SerialPort3_DataReceived);
UPort3 = true;
}
catch (Exception e)
@ -213,6 +219,34 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
LogGing.LogGingDATA(e.Message);
}
}//ck
// 事件处理函数
private void SerialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int bytesToRead = port1.BytesToRead;
byte[] buffer = new byte[bytesToRead];
port1.Read(buffer, 0, bytesToRead); // 读取数据
// 将字节数据转换为字符串(注意编码方式)
string receivedData = Encoding.ASCII.GetString(buffer); // 根据实际情况调整编码
}// 事件处理函数
private void SerialPort2_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int bytesToRead = port2.BytesToRead;
byte[] buffer = new byte[bytesToRead];
port2.Read(buffer, 0, bytesToRead); // 读取数据
// 将字节数据转换为字符串(注意编码方式)
string receivedData = Encoding.ASCII.GetString(buffer); // 根据实际情况调整编码
}// 事件处理函数
private void SerialPort3_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int bytesToRead = port3.BytesToRead;
byte[] buffer = new byte[bytesToRead];
port3.Read(buffer, 0, bytesToRead); // 读取数据
// 将字节数据转换为字符串(注意编码方式)
string receivedData = Encoding.ASCII.GetString(buffer); // 根据实际情况调整编码
}
private async void Port_link()
{
await Task.Run(() =>

Loading…
Cancel
Save