英創(chuàng)ARM9工控主板均提供了多個(gè)串口供客戶進(jìn)行通訊控制使用,包括標(biāo)準(zhǔn)的RS232和TTL電平的COM接口(經(jīng)過(guò)簡(jiǎn)單的電平轉(zhuǎn)換即可成為標(biāo)準(zhǔn)的RS232/RS485或者RS422)。由于英創(chuàng)ARM9嵌入式主板采用WinCE操作系統(tǒng),很多客戶都選擇了界面友好、開(kāi)發(fā)便利的C#語(yǔ)言(使用Visual Studio 2005.NET集成開(kāi)發(fā)環(huán)境)。在VS2005中,為了實(shí)現(xiàn)串口的操作,英創(chuàng)提供了操作串口的COM組件接口,用戶只需要在目標(biāo)平臺(tái)上進(jìn)行組件注冊(cè),然后在C#程序開(kāi)發(fā)的時(shí)候,對(duì)該COM組件添加引用,即可在程序里面自由地通過(guò)對(duì)象操作來(lái)使用英創(chuàng)提供的串口函數(shù)。英創(chuàng)提供的串口組件可以提供RTS控制的功能,方便客戶在進(jìn)行工業(yè)現(xiàn)場(chǎng)通訊的時(shí)候?qū)TS進(jìn)行設(shè)置(參見(jiàn)《C#使用COM組件接口進(jìn)行串口操作》一文);對(duì)于不需要RTS控制的客戶,微軟在VS2005里提供了一個(gè)標(biāo)準(zhǔn)的串口類SerialPort供客戶使用,該串口類可以靈活方便地進(jìn)行串口設(shè)置、收發(fā)等操作,功能更多,使用相對(duì)更靈活。英創(chuàng)也提供了一個(gè)使用SerialPort串口類的例程供用戶參考,本文就對(duì)SerialPort串口類的使用作一個(gè)簡(jiǎn)單的講解。
首先要添加包含SerialPort串口類的引用:
using System.IO.Ports;
在程序的開(kāi)始定義一個(gè)SerialPort串口類對(duì)象:
SerialPort myserialPort = new SerialPort();
串口的參數(shù)值可以通過(guò)如下方式來(lái)定義:
myserialPort.PortName = “COM1”; // 定義為COM1
myserialPort.BaudRate = 9600; // 波特率為9600
打開(kāi)串口的操作:
myserialPort.Open();
要實(shí)現(xiàn)數(shù)據(jù)的接收,必須要監(jiān)控串口的接口緩沖,實(shí)現(xiàn)一旦有數(shù)據(jù)進(jìn)來(lái),就能立刻處理。為此,SerialPort類提供了一個(gè)DataRecieved事件,方便對(duì)數(shù)據(jù)的接收進(jìn)行處理:
myserialPort.DataReceived += new SerialDataReceivedEventHandler(myserialPort_DataReceived);
// 當(dāng)串口有數(shù)據(jù)收到時(shí),啟動(dòng)myserialPort_DataRecieved事件函數(shù)
一旦產(chǎn)生DataReceived事件,就由myserialPort_DataReceived函數(shù)來(lái)處理。
在進(jìn)行數(shù)據(jù)接收處理的時(shí)候,SerialPort類提供了很多接收方法,包括:Read()、ReadExisting()、ReadByte()、ReadChar()、ReadLine()、ReadTo()等等,客戶可以根據(jù)自己的要求進(jìn)行選用,如:
private void myserialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//。。。。。。
string whatRecieved = myserialPort.ReadExisting();
//。。。。。。
}
相對(duì)來(lái)說(shuō),數(shù)據(jù)發(fā)送就簡(jiǎn)單多了,SerialPort提供了兩個(gè)數(shù)據(jù)發(fā)送的方法Write()和WriteLine(),如:
string whatSending = “Emtronix”;
myserialPort.Write( whatSending );
關(guān)閉串口的操作如下:
myserialPort.Close();
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6097瀏覽量
36192
發(fā)布評(píng)論請(qǐng)先 登錄
對(duì)對(duì)碰 vs2005 c#源碼

田洪川VS2005視頻教程:VS2005工具欄使用說(shuō)明
田洪川VS2005視頻教程:C#數(shù)據(jù)類型
田洪川VS2005視頻教程:C#數(shù)據(jù)類型(日期類型)
田洪川VS2005視頻教程:類關(guān)系
田洪川VS2005視頻教程:類--共享成員
田洪川VS2005視頻教程:類--繼承
田洪川VS2005視頻教程:FormView
田洪川VS2005視頻教程:WebParts 二
田洪川VS2005視頻教程:玩轉(zhuǎn)vs2005環(huán)境中的Ado.Net
田洪川VS2005視頻教程:ObjectDataSource
英創(chuàng)信息技術(shù)C#使用COM組件接口進(jìn)行串口操作介紹

英創(chuàng)信息技術(shù)WinCE平臺(tái)C#例程要點(diǎn)介紹

英創(chuàng)信息技術(shù)嵌入式Linux主板Qt串口應(yīng)用程序簡(jiǎn)介

評(píng)論