【实验室笔记】C#上位机学习笔记
用C#编写上位机,基本流程是【1】串口配置,【2】串口发送数据,【3】串口接收数据。
【1】串口配置
串口的属性配置包括:
No.1串口端口号
No.2串口波特率
No.3串口数据位
No.4串口停止位
N0.5串口校验位
串口的上述属性,分别将值存储进combobox里边,然后带用户根据实际情况自己进行选择,设置也比较简单。
串口的打开和关闭,采用try-catch这对组合,可以自动打开和关闭处理过程中出现的问题。
【2】串口发送数据
串口发送数据,采用串口的write属性,该属性有三种重载方式,string,byte,char三种,分别是字符串,字节,字符三种。
1 if (serialPort1.IsOpen == true)
2 {
3 try
4 {
5 Byte[] mes = new Byte[3] { 1,2,3};
6 char[] chr = new char[3] { 'a','b','c'};
7 serialPort1.Write(mes,0,1);
8 serialPort1.Write(chr,0,1);
9 serialPort1.Write("Hello");
10 MessageBox.Show("发送成功");
11 }
12 catch
13 {
14 MessageBox.Show("发送失败");
15 }
16 }
Write的Byte和char函数接口解释为,首先告诉write用的哪一个数组,从数组第几个位开始发数据,发几个数据。
如此,下位机,讲分别收到1,a,Hello数据。
【3】串口接收数据
1 Control.CheckForIllegalCrossThreadCalls = false;
2 serialPort1.DataReceived += new SerialDataReceivedEventHandler(SP1REV);
3 serialPort1.ReceivedBytesThreshold = 1;
1 void SP1REV(object sender, SerialDataReceivedEventArgs e) 2 { 3 if (serialPort1.IsOpen == true) 4 { 5 try 6 { 7 Byte[] REV = new Byte[serialPort1.BytesToRead]; 8 serialPort1.Read(REV, 0, REV.Length); 9 serialPort1.DiscardInBuffer(); 10 textBox1.Text += Encoding.ASCII.GetString(REV); 11 } 12 catch 13 { 14 MessageBox.Show("接收出错"); 15 } 16 } 17 }
posted on 2016-09-19 16:37 HelloWorldTotti 阅读(3137) 评论(0) 编辑 收藏 举报