毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

温湿度采集系统,单片机;串行通信;数据交换 第10页

更新时间:2008-9-24:  来源:毕业论文

温湿度采集系统,单片机;串行通信;数据交换 第10页

第四章  软件系统实现

 

·4.1 数据部分实现

在整个系统的设计过程中,数据的接受和发送是最为重要的部分,因为数据的处理都是以这个部分为前提,因此,在进行设计时,一定要掌握C#.NET环境下,串口通信部分的实现,以及串口通信协议。下面分别介绍串口打开、关闭、数据接受与发送等部分程序的代码。

(1) 打开串口程序如下:

      private void myopen()               //定义myopen()函数

      {

        try

        {

          if (!this.seriPort1.IsOpen)    //当串口打开时

           {

              this.serialPort1.Open();     //打开一个串口连接

              this.tsbtn_openSerialPort.Text = “关闭串口”;

              this.tsbtn_openSerialPort.Tag = 1;

              this.tsbtn_autoMonitor.Enabled = true;

              this.btn_Send.Enabled = true;

                          this.tsl_connection.Image = global::SerialPortTerminal.Properties.Resources.connect;

              this.tsl_connection.ToolTipText = “串口连接已开启”;

              this.tssl.Properties.Resources.connect;

              this.tssl_logs.Text = “串口连接已开启”;

              this.tssl_logs.ToolTipText = “串口连接已开启”;

             }

          }

              catch (Exception ex)          //捕获异常,当前串口已被占用

              {

                MessageBox.Show(ex.Message, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);  

           }

      }

 

(2) 关闭串口程序如下:

         private void myclose()            //定义myclose()函数

        {

           if (this.ialPort1.Close();     //关闭一个串口连接

 this.tsbtn_openSerialPort.Text =“打开串口”; 

              this.tsbtn_openSerialPort.Tag = 0;

              this.tsbtn_autoMonitor.Tag = 0;

              this.tsbtn_autoMonitor.Text = “开始监控”;

              this.tsbtn_autoMonitor.Enabled = false;

              this.btn_Send.Enabled = false;

              this.tsl_connection.Image = global::SerialPortTerminal.Properties.Resources.disconnect;

              this.tsl_connection.ToolTipText =“串口连接已关闭”;

              this.tssl_logs.Image = global::SerialPortTerminal.Properties.Resources.disconnect;

              this.tssl_logs.Text =“串口连接已关闭”;  

              this.tssl_logs.ToolTipText =“串口连接已关闭”;

            }

        }

          private void openSerialPort_Click(object sender, EventArgs e)

         {(this.openSerialPort.Tag); //定义一个串口标志变量

         if (i == 0)     //当串口未打开时

          {

            myopen();    // 执行打开串口函数

           }

         else

          {

            myclose();  //否则,执行关闭串口函数

           }

        }

 

(3) 数据接收程序:

                  private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)

       {

         int iSum = 0;                  //定义一个变量

         string strTemp1 = “”;          //初始化变量

         byte[] bTemp = new byte[4096]; //赋值接收字符串最大长度

         if (serialPort1.IsOpen)        //如果串口已打开

         {

          (1000);         //控制线程

          iSum =t1.BytesToRead;   //赋值按字节读取

          int iRel = serialPort1.Read(bTemp, 0, iSum);

          serialPort1.Close();         // 关闭串口

          //strTemp1 = Encoding.Unicode.GetString(bTemp, 0,iSum).ToString();         //转换字符

                    strTemp1 = strTemp1 + Encoding.ASCII.GetString(bTemp, 0,iSum).ToString();        //字符按ASCII编码

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

温湿度采集系统,单片机;串行通信;数据交换 第10页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。