1. 串行接口:是一种可以接收来自CPU的并行数据字符连续的串行数据流发送出去,同时也可以接收将串行数据流转换为并行的数据字符供给CPU的器件。一般能完成这中功能的电路,称为串行接口电路。
  2. 串口:是计算机上一种非常通用的设备通讯协议。也是仪器仪表设备通用的通讯协议
  3. 串口通讯:外设和计算机间通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式(使用的数据线少,远距离通信可以节约成本,但传输速度与并行通讯慢)。串口通讯可以使用一根线发送数据的同事用另一条线接收数据
  4. 参数:波特率、数据位、停止位、奇偶检验。(两个正在通信的端口,这些参数必须匹配)
  5. 常用参数方法
    PortName获取或设置通信端口
    BaudRate获取或设置串行波特率

    BaudBits

    获取或设置每个字节的标准数据位长度
    Parity获取或设置奇偶检验协议
    StopBits获取或设置每个字节的标准停止位数
    Open()打开端口连接
    Close()关闭端口连接
    Read()从输入缓冲区读取数据
    GetPortNames()获取当前计算机的串行端口名数组
    write()将数据写入串行端口的缓冲区
    ReaExisting()读取SerialPort对象流和输入缓冲区中所有立即可用的字节
    DataReceived处理SerialPort对象的数据接收事件的方法
  6. using System.IO.Ports;
    
    SerialPort myserialport = new SerialPort("COM1");
    myserialport.BaudRate = 9600;//波特率
    myserialport.Parity = Parity.None;//奇偶检验协议
    myserialport.StopBits = StopBits.One;//停止位
    myserialport.DataBits = 8;//数据位
    
    myserialport.DataReceived += new SerialDataReceivedEvenHandler(DataReceiveHandler);
    myserialport.Open();//打开端口连接
    
    myserialport.Write("hello world");
    myserialport.Write(new byte[]{0x0A,0xE2,0xFF},0,3);
    
    myserialport.Close();//断开端口连接
    
    public void DataReceiveHandler(object sender,SerialDataReceivedEventArgs e)
    {
        try
        {
            myserialport.ReadExisting();
        }
        catch(Exception ex)
        {
            
        }
    }
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐