c# SerialPort串口通信

1、引入using集

using System.IO.Ports;

2、定义全局变量

SerialPort serialPort = new SerialPort();

3、可以设置下拉列表(ComboBox)在窗体的Load事件中读取电脑上的com口

foreach (string Serial_Name in SerialPort.GetPortNames()) 
            {
                comboBox1.Items.Add(Serial_Name);
            }

4、在button按下时

if (!serialPort.IsOpen)
            {
                serialPort.PortName = comboBox1.SelectedItem.ToString();//串口名
                serialPort.BaudRate = 19200;                                                //波特率
                serialPort.DataBits = 8;                                                          //标准数据位长度默认为8
                button1.Text = "关闭串口";
                serialPort.Open();                                                                   //打开串口
            }
            else
            {
                button1.Text = "打开串口";
                serialPort.Close();
            }

5、转换为byte并发送命令

//命令转换为byte数组
private static byte[] GetPostData(string cmdStr)
        {
            byte[] array = new byte[cmdStr.Length / 2];
            for(int i = 0; i < cmdStr.Length; i += 2)
            {
                array[i / 2] = Convert.ToByte(cmdStr.Substring(i, 2), 16);
            }
            return array;
        }

        private void button2_Click(object sender, EventArgs e)
        {
           
            if(serialPort.IsOpen)
            {
                
                serialPort.DiscardInBuffer();
                byte[] array = GetPostData(发送的16进制命令);
                serialPort.Write(array, 0, array.Length);//写入命令
            }
            
        }

6、查看电脑com口:我的电脑右击》管理》设备管理器》右边有个端口(com),如果太多不知道哪个,拔下来重插哪个有变化就是那个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值