用串口類SerialPort
1、打開串口
public bool ComOpen(int OutTime, string ComNum, int BaudRate)
{
try
{
com.PortName = ComNum;
com.BaudRate = 9600;
com.DataBits = 8;
//com.Parity = Parity.Even;
com.WriteTimeout = OutTime;
com.ReadTimeout = OutTime;
com.Open();
}
catch
{
return false;
//MessageBox.Show("打開串口失敗!", "系統提示");
}
return true;
}
2、先把妳的協議轉換為byte數據,具體的妳自己拼寫,下面的是把妳的字符串轉換為為ascII碼,妳的十六進制的其實是ascII碼形式
ASCIIEncoding MyInfo = new ASCIIEncoding();
byte[] MySend = MyInfo.GetBytes(AlarmCode);
在數組中,起始位壹般是0x02還是0x03啊,忘了,妳自己看著拼壹下
3、串口發送或者接受命令,把妳的數組發送出去或者取出來,都壹樣
public byte[] ComSend(byte[] sendbyte,int SleepTime)
{
//byte[] refbyte = new byte[500];
int reallength;
//try
//{
com.Write(sendbyte, 0, sendbyte.Length);
//return sendbyte;
//}
//catch
//{
// //MessageBox.Show("發送數據失敗!");
// return null;
//}
try
{
reallength = com.BytesToRead;
byte[] refbyte = new byte[reallength];
reallength = com.Read(refbyte, 0, com.BytesToRead);
return refbyte;
}
catch
{
return null;
// MessageBox.Show("接收數據失敗!");
}
}