【实验室笔记】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  阅读(3098)  评论(0编辑  收藏  举报

导航