简介

串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

与并口区别

串口形容一下就是一条车道,而并口就是有8个车道同一时刻能传送8位(一个字节)数据。但是并不是说并口快,由于8位通道之间的互相干扰(串扰),传输时速度就受到了限制,传输容易出错。串口没有互相干扰。并口同时发送的数据量大,但要比串口慢。[3]  串口硬盘就是这样被人们重视的。

操作流程

1、添加控件System.IO.Ports.SerialPort

2、打开串口

public void openSport(){try{string[] PortNameArr = SerialPort.GetPortNames();sp.PortName = "COM10";sp.BaudRate = 9600;sp.DataBits = 8;int stopbit = 2;sp.StopBits = (StopBits)stopbit;sp.ReadTimeout = 10000;sp.ReceivedBytesThreshold = 1;sp.Open();}catch (Exception e){MessageBox.Show(e.ToString());}}

3、往串口发命令

public void cabinet(String command){//MessageBox.Show("调用打开通道" + command);try{//MessageBox.Show(command);String strSend = command;        //"8A 01 01 11 9B";//处理数字转换string sendBuf = strSend;string sendnoNull = sendBuf.Trim();string sendNOComma = sendnoNull.Replace(',', ' ');    //去掉英文逗号string sendNOComma1 = sendNOComma.Replace(',', ' '); //去掉中文逗号string strSendNoComma2 = sendNOComma1.Replace("0x", "");   //去掉0xstrSendNoComma2.Replace("0X", "");   //去掉0Xstring[] strArray = strSendNoComma2.Split(' ');int byteBufferLength = strArray.Length;for (int i = 0; i < strArray.Length; i++){if (strArray[i] == ""){byteBufferLength--;}}// int temp = 0;byte[] byteBuffer = new byte[byteBufferLength];int ii = 0;for (int i = 0; i < strArray.Length; i++)        //对获取的字符做相加运算{Byte[] bytesOfStr = Encoding.Default.GetBytes(strArray[i]);int decNum = 0;if (strArray[i] == ""){//ii--;     //加上此句是错误的,下面的continue以延缓了一个ii,不与i同步continue;}else{decNum = Convert.ToInt32(strArray[i], 16); //atrArray[i] == 12时,temp == 18 }try    //防止输错,使其只能输入一个字节的字符{byteBuffer[ii] = Convert.ToByte(decNum);}catch (System.Exception ex){MessageBox.Show(ex.ToString());//textBox_uartSend.Enabled = false;return;}ii++;}sp.Write(byteBuffer, 0, byteBuffer.Length);}catch (Exception e){MessageBox.Show(e.ToString());}}

4、命令测试

cabinet("5A 00 FF A5");cabinet("5A 03 02 A5");

灯亮了,说明方法是对的

c#中如何进行com口操作?相关推荐

  1. 发现好文!51单片机特殊功能寄存器 /I/O口操作 /中断/ 定时器/ 串口通信/ ---位寻址解释由来--以及程序例程

    51单片机特殊功能寄存器有哪些_功能是什么 最近学习中对寄存器的概念理解很迷惑,I/O口操作/中断/定时器/串口通信四大模块的寄存器应用不太明白,这篇文章,解释的不错,希望帮到各位! 1.21个寄存器 ...

  2. wincc 用c语言读取用户名,WINCC中使用C脚本获得操作记录_wincc脚本读取报警记录-C文档类资源...

    WINCC中使用C脚本获得操作记录 文档号 版本|日期 页数 SIEMENS 应用范围 详述 在生产中,有很多时候需要记录操作员的操作,以便进行事故分析. 本身提供了一些对象可以产 生操作记录,但是在 ...

  3. 【Arduino学习】一、IO口操作

    文章目录 前言 所需材料: 一.Arduino概述 1.什么是Arduino 2.Arduino UNO 二.I/O口介绍 1.I/O口 2.GPIO口 三.I/O 操作函数 1.设置I/O口的工作状 ...

  4. 从一台虚拟机中启用一个并口设备

    从一台虚拟机中启用一个并口设备 你可以附加多至两个双向并口(LPT)到一台虚拟机.虚拟机创建一个虚拟并口,它连接到主机操作系统上的一个并口或者一个文件.你可以在虚拟机进程期间更改一台虚拟机上的并口配置 ...

  5. STM32笔记 GPIO介绍及IO口操作 STM32F0 利用C语言位域实现仿位带操作

    文章目录 GPIO简介 工作方式 相关寄存器介绍 IO 操作步骤 IO口三种操作细解 附录:C语言相关 偏移地址与绝对地址 GPIO简介 GPIO:每个连接到I/O总线上的设备都有自己的I/O地址集, ...

  6. 在 Linux 中使用ImageMagick命令行操作图像文件

    使用 convert 命令,可以无需打开图像编辑器进行修改图像文件.convert命令包含在ImageMagick安装包里. Centos8安装ImageMagick ImageMagick 可以安装 ...

  7. python通过什么连接数据库_python中常用的各种数据库操作模块和连接实例

    这篇文章主要介绍了python中常用的各种数据库操作模块和连接实例,包括sqlite3.oracle.mysql.excel,需要的朋友可以参考下 工作中,经常会有用python访问各种数据库的需求, ...

  8. python操作目录_详解python中的文件与目录操作

    详解python中的文件与目录操作 一 获得当前路径 1.代码1 >>>import os >>>print('Current directory is ',os. ...

  9. Java 8 Stream Api 中的 map和 flatMap 操作

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「码农小胖哥」 1.前言 Java 8  ...

最新文章

  1. 两路虚拟化服务器,服务器虚拟化(二)
  2. SVN使用_获取某版本后改动的文件列表
  3. 旋转矩阵、欧拉角、四元数比较
  4. POJ 1679 判断最小树是否唯一
  5. 现代操作系统: 第八章 多处理机系统
  6. 详解 nginx 配置文件及构建 web 虚拟主机
  7. 几个冷门字符串算法的学习笔记(最小表示法,exKMP,Lyndon Word)
  8. PHP网站后台角色权限管理系统源码
  9. 数据结构与算法-算法入门-什么是算法-算法的挑战
  10. 完美配置Tomcat的HTTPS
  11. Visual Studio 2017 vcvarsall.bat 环境配置对应关系
  12. 路由器的工作原理定义
  13. light动名词_动名词与高考考点解析
  14. MATLAB TIFF转Shape、TIFF和Shape的读写
  15. 把酸性体质改变成碱性体质的秘密
  16. 三星Note9的优秀与不足,能承担单骑救主的重任么?
  17. css动画与渐变案例,使用动画和渐变做一个背景动态网页
  18. IP和MNC地址协议
  19. Servlet-千锋-学习笔记
  20. Unity:DOTween来回运行或者缩放等LoopType.Yoyo

热门文章

  1. 神经网络实现---SSD
  2. 切换到/etc/ppp/ipup文件,写出操作命令过程,并显示详细过程,和推迟30秒关机命令
  3. 面试总结三 --- 浏览器与网络
  4. tar.gz和tar.xz文件
  5. 关于 public.resource.org
  6. 从软件工程师到一个愤青IT猎头的经历
  7. 官方免费的正版Xshell,人人都可以马上拥有
  8. signal函数原型解读
  9. PageAdmin如何修改后台页面标题。
  10. 深度学习——DRD-Net