c# 串口通信及模擬串口進行調試


串口通信庫

 public class ComUtility
    {
        SerialPort serialPort;

        private event DataReceivedHandle DataReceivedEvent;

        public delegate void DataReceivedHandle(string data);

        /// 串口接收通信配置方法
        /// 端口名稱
        public ComUtility(string portName, int baudRate, Parity parity, int dataBits, StopBits stopBits)
        {
            serialPort = new SerialPort(portName, baudRate, parity, dataBits, stopBits);
            serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceived);//DataReceived事件委托
            serialPort.ReceivedBytesThreshold = 1;
            serialPort.RtsEnable = true;
        }

        public void BindReceiveHandle(DataReceivedHandle handle)
        {
            DataReceivedEvent += handle;
        }

        /// 數據接收事件
        private void DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            // Thread.Sleep(2000);
            byte[] readBuffer = new byte[serialPort.ReadBufferSize];
            serialPort.Read(readBuffer, 0, readBuffer.Length);
            string str = Encoding.Default.GetString(readBuffer).TrimEnd('\0'); 

            DataReceivedEvent?.Invoke(str);
        }
        //打開串口的方法
        public void OpenPort()
        {
            try//這里寫成異常處理的形式以免串口打不開程序崩潰
            {
                serialPort.Open();
            }
            catch (Exception e)
            {

                throw e;
            }
        }


        public void Close()
        {
            serialPort.Close();
        }

        //向串口發送數據
        public void SendCommand(string CommandString)
        {
            byte[] WriteBuffer = Encoding.ASCII.GetBytes(CommandString);
            serialPort.Write(WriteBuffer, 0, WriteBuffer.Length);
        }
    }

模擬調試需要用到兩個工具
vspd串口模擬程序
串口調試小助手

先在vspt中添加模擬串口

隨后可以在串口調試小助手中模擬發送

工具下載地址
https://files.cnblogs.com/files/ives/串口調試小助手.zip
https://files.cnblogs.com/files/ives/vspd串口模擬程序.zip


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM