本文介紹了使用API寫串口通信的方法,方便實現(xiàn)自己想要的各種功能,用一個國外網(wǎng)友現(xiàn)成的已經(jīng)封裝好的類庫,不過功能簡單點,相對我們來說已經(jīng)夠用了。
在整個終端短信的操作過程中,與串口的通信,只用到了四個功能,打開、寫、讀、關(guān)閉串口。下面是類庫對這四個功能的定義:
打開串口:
函數(shù)原型:public void Open()
說明:打開事先設(shè)置好的端口
示例:
using JustinIO;
static JustinIO.CommPort ss_port = new JustinIO.CommPort();
ss_port.PortNum = COM1; //端口號
ss_port.BaudRate = 19200; //串口通信波特率
ss_port.ByteSize = 8; //數(shù)據(jù)位
ss_port.Parity = 0; //奇偶校驗
ss_port.StopBits = 1;//停止位
ss_port.ReadTimeout = 1000; //讀超時
try{
if (ss_port.Opened){
ss_port.Close();
ss_port.Open(); //打開串口舞臺搭建 毛刷
}
else
{
ss_port.Open();//打開串口
}
return true;
}
catch(Exception e){
MessageBox.Show("錯誤:" + e.Message);
return false;
}
寫串口:
函數(shù)原型:public void Write(byte[] WriteBytes)
WriteBytes 就是你的寫入的字節(jié),注意,字符串要轉(zhuǎn)換成字節(jié)數(shù)組才能進(jìn)行通信
示例:
ss_port.Write(Encoding.ASCII.GetBytes("AT+CGMI/r")); //獲取手機品牌
讀串口:
函數(shù)原型:public byte[] Read(int NumBytes)
NumBytes 讀入緩存數(shù),注意讀取來的是字節(jié)數(shù)組,要實際應(yīng)用中要進(jìn)行字符轉(zhuǎn)換
示例:
string response = Encoding.ASCII.GetString(ss_port.Read(128)); //讀取128個字節(jié)緩存
舞臺搭建 毛刷關(guān)閉串口:
函數(shù)原型:ss_port.Close()
示例:
ss_port.Close();
新聞熱點
疑難解答
圖片精選