C#中串口與Modem的通訊

來源:互聯網
上載者:User

標籤:blog   http   os   strong   資料   io   

C#中串口與Modem的通訊

2007-08-20 09:52643人閱讀評論(8)收藏舉報

 最近一段時間,實驗了串口的資料轉送.在C#中,其實有一個很好的類SerialPort使串口間的通訊變得簡單而且好控制.

一.下面給出SerialPort的基本屬性:

            serialPort1.PortName = "COM1";      //開啟指定串口的連接埠,也可以是COM2.
            serialPort1.BaudRate =9600;          //傳輸速率,這是通訊中的一術語,可以查相關資料,一般都是9600.
            serialPort1.DataBits =8;     //傳輸資料位元,一次傳幾位位元據.
            serialPort1.Parity =Parity.None;   //校正,它分為三種,一種奇數同位,一種偶校正,還有一種是無校正.
            serialPort1.StopBits =StopBits.One;     //停止位.
            serialPort1.DtrEnable = true;  //是在開始時,啟用資料終端.它與Modem上的TR號誌對應,如果開始此燈不亮,則無法傳輸資料,所以在Modem的通訊中,應該加上這句.讓終端裝置準備好.
            serialPort1.RtsEnable = true; //這個是請求發送.

            serialPort1.Encoding =Encoding.ASCII;  //因為資料發送時,是以位元組數組形式發送所以可以定義好編碼.

編碼有:ASCII(只能傳輸英文),Unicode(可以傳輸中英文), UT8(中英文).根據自己的情況而定.

但要說明一點,要是你用write(byte[],intstart,int length)的話,最好自己確定編碼,而不用serialPort1.Encoding= Encoding.ASCII進行設定.如:

當你要傳輸

string  strSend="hackenliu";

則先將strSend轉為byte[]形式.如下:

byte[]data= Encoding.ASCII.GetBytes(strSend);

serialport1.write(data,0,data.length);    //發送資料了.

在Encoding下,可以選用上面的ASCII,也可以是Uicode,或是UT8.不過,一定要注意,接收雙方的編碼應該一樣.

 

二.開啟串口:

            if (serialPort1.IsOpen)
            {
                serialPort1.Close();
                serialPort1.Open();
            }
            else
                serialPort1.Open();
            lblShow.Text = "串口已開啟";

三.發送資料:

serialPort類提供了很多的發送資料函數.有write(param),還有writeLine();

四.接收資料:

添加serialport類的事件

privatevoid serialPort1_DataReceived(object sender,System.IO.Ports.SerialDataReceivedEventArgs e)

當有資料時,它會自動接收的.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.