usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.IO.Ports;namespaceConsoleApplication3...{classSerialPortTest...{publicstringMessageStr="";publicboolIsMessageFlag=false;SerialPortport1;/**////<summary>///function:initialserialport///</summary>///<paramname="PortName">portnumber</param>///<paramname="BaudRate">portspeed</param>publicvoidInitCOM(stringPortName,intBaudRate)...{port1=newSerialPort(PortName,BaudRate);port1.Handshake=Handshake.RequestToSend;port1.DataReceived+=newSerialDataReceivedEventHandler(port1_DataReceived);}/**////<summary>///function:dealwiththedatareceive///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidport1_DataReceived(objectsender,SerialDataReceivedEventArgse)...{StringBuildercurrentline=newStringBuilder();if(!IsMessageFlag)...{while(port1.BytesToRead>0)...{charch=(char)port1.ReadByte();currentline.Append(ch);}MessageStr=currentline.ToString();IsMessageFlag=true;currentline=newStringBuilder();}//thrownewException("Themethodoroperationisnotimplemented.");}/**////<summary>///function:sendtheinstruction///</summary>///<paramname="CommandString"></param>publicvoidSendCommand(stringCommandString)...{byte[]WriteBuffer=Encoding.ASCII.GetBytes(CommandString);port1.Write(WriteBuffer,0,WriteBuffer.Length);}/**////<summary>///function:opentheclosedport///</summary>publicvoidOpenPort()...{port1.Open();if(port1.IsOpen)...{Console.WriteLine("theportisopened!");}else...{Console.WriteLine("failuretoopentheport!");}}/**////<summary>///function:closetheopenedport///</summary>publicvoidClosePort()...{port1.Close();if(port1.IsOpen)...{Console.WriteLine("theportisalreadyclosed!");}}}}