日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#之windows桌面软件第七课:(下集)串口工具实现数据校验、用灯反应设备状态

發布時間:2025/6/15 C# 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#之windows桌面软件第七课:(下集)串口工具实现数据校验、用灯反应设备状态 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?C#之windows桌面軟件第七課:(下集)串口工具實現數據校驗、用燈反應設備狀態

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;using System.IO.Ports; namespace Reply {public partial class Form1 : Form{byte DataSended = 0;byte[] DataToSend = new byte[] { 0x01, 0x02, 0x03 }; //數據發送public Form1(){InitializeComponent();System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;serialPort1.DataReceived += new SerialDataReceivedEventHandler(SerialPortDataReceived); //添加串口中斷事件}private void SetOvlShape(int which) //填充顏色 {switch(which){case 0x01:ovalShape1.FillColor = Color.Green;break;case 0x11:ovalShape1.FillColor = Color.Red;break;case 0x02:ovalShape2.FillColor = Color.Green;break;case 0x12:ovalShape2.FillColor = Color.Red;break;case 0x03:ovalShape3.FillColor = Color.Green;break;case 0x13:ovalShape3.FillColor = Color.Red;break;case 0x04:ovalShape1.FillColor = Color.Green;ovalShape2.FillColor = Color.Green;ovalShape3.FillColor = Color.Green;break;case 0x14:ovalShape1.FillColor = Color.Red;ovalShape2.FillColor = Color.Red;ovalShape3.FillColor = Color.Red;break;default:break;}}private void SerialPortDataReceived(object sender, SerialDataReceivedEventArgs e){byte DataReceived = (byte)(serialPort1.ReadByte()); //單字節讀取SetOvlShape(DataReceived);}private void button1_Click(object sender, EventArgs e) //打開/關閉串口{if (serialPort1.IsOpen) //一堆處理……{try{serialPort1.Close();}catch{}button1.Text = "打開串口";}else{try{serialPort1.PortName = comboBox1.Text; //串口號 serialPort1.Open(); //打開}catch{MessageBox.Show("串口打開錯誤,請檢查", "串口");}button1.Text = "關閉串口";}}private void SendDataToSerialPort(SerialPort MyPort, byte DataToSend) //單字節發送數據 {byte[] DatasToWrite = new byte[] { DataToSend }; //數據包if (serialPort1.IsOpen){try{MyPort.Write(DatasToWrite, 0, 1); //發數據}catch{MessageBox.Show("串口數據寫入錯誤", "錯誤");}}}private void Button_Click(object sender, EventArgs e) //三個按鍵共用一個處理函數{Button MyButton = (Button)sender; //通過tag屬性來區分DataSended = Convert.ToByte(MyButton.Tag);SendDataToSerialPort(serialPort1, DataToSend[DataSended - 1]); //發數據}} }

?

www.DoYoung.net(部分代碼來至杜洋工作室)

總結

以上是生活随笔為你收集整理的C#之windows桌面软件第七课:(下集)串口工具实现数据校验、用灯反应设备状态的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。