c# 获取串口扫描枪数据
之前负责过一个机场的项目,有一个环节是扫描旅客登机牌,获取旅客信息的操作,当时是拟定了使用串口扫描枪来获取登机牌信息,后面又测试了网口的,这里记录一下当时用来测试串口使用的程序,供有需求的小伙伴们参考,
1、首先引用命名空间
using System.IO.Ports;
2、主程序代码
SerialPort serialPort = new SerialPort();//端口名 注:设备管理器中查看一下虚拟com口的名字serialPort.PortName = 'COM3';serialPort.BaudRate = 115200;//波特率,默认是9600serialPort.Parity = Parity.None;serialPort.StopBits = StopBits.One;serialPort.DataBits = 8;serialPort.DiscardNull = true;serialPort.DataReceived += serialPort_DataReceived;//监听方法,具体看下面serialPort.Open();
3、接收消息后,自动进入此方法
void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e){try{Logger.Warn($"DataReceived");SerialPort serialPort = (SerialPort)sender;Logger.Warn($"串口接收长度:{serialPort.BytesToRead}");if (serialPort.BytesToRead == 0){return;}else{Thread threadReceiveSub = new Thread(new ParameterizedThreadStart(ReceiveData));threadReceiveSub.Start(serialPort);}}catch (Exception ex){Logger.Error($"开启监听异常:{ex.Message}");}}
private void ReceiveData(object serialPortobj){try{SerialPort serialPort = (SerialPort)serialPortobj;//开辟接收缓冲区byte[] receiveData = new byte[serialPort.BytesToRead];Logger.Warn($"缓冲区长度:{receiveData.Length}");//从串口读取数据serialPort.Read(receiveData, 0, receiveData.Length); //防止数据接收不完整 线程sleep(150)System.Threading.Thread.Sleep(150);string str = System.Text.Encoding.UTF8.GetString(receiveData, 0, receiveData.Length);//serialPort.ReadExisting();if (string.IsNullOrEmpty( str )){Logger.Warn($"串口结束数据转换结果为空!");return;}else{try{str = str.Substring(0, 18);//只去要获取18位,这里根据你们自己的需求来}catch (Exception){str = '000000000000';//错误码,自己拟定}Logger.Info($"扫描截取信息:{str}");}}catch (Exception ex){Logger.Error($"扫描数据失败:{ex.Message}");}}
这里给大家安排一个串口调试工具
链接:https://pan.baidu.com/s/1rcQBa0I3rNI643XsRyKaFA
提取码:mszd
c# 获取串口扫描枪数据相关推荐
- python获取usb扫描枪数据_GitHub - RobinGitHub/USB4ScanGun: USB扫描枪识别,已获取对应扫描枪返回值的测试程序...
USB4ScanGun PS:最近在测试点东西,要看这个项目的朋友麻烦用稍早前的版本.之后测试结果也会写在这里,或者博客中的.--2014年9月28日 USB扫描枪识别,已获取对应扫描枪返回值的测试程 ...
- 安卓版PDA扫码获取扫描枪数据;input获取焦点不弹出虚拟键盘;解决页面btn可操作数据的逻辑,导致DOM元素渲染,input的readonly失效
html部分: 页面需要一个容器来接收扫描数据 注意:安卓版PDA扫描不同于win系统版本,安卓版本获取扫描数据时并不是keyCode按键依次获取,而是一次性给出扫描的数据 <!--扫描枪数据接 ...
- WinCC读取串口扫描枪案例
目录 一 MSComm控件注册 二 准备微软脚本调试器 三 WinCC画面制作 四 创建全局脚本VBS 五 项目启动前的配置 六 关于USB扫描枪和串口扫描枪 本文以WinCC通过VBS脚本进行串口通 ...
- C#串口扫描枪的简单实现
串口扫描枪的简单实现 基于串口通讯的扫描枪的实现,主要借助SerialPort类,表示串行端口资源.实现很简单: 工具:usb转RS232转接头/个,扫描枪/套, 扫描枪串口接入转接头,转接头插电脑 ...
- Linux下读取USB扫描枪数据
1.USB扫描枪 USB接口的扫描枪相当于键盘输入,在Windows或者Linux下,在成功安装驱动的前提下,打开文件编辑器如word.txt等.扫描枪读出到条码数据时,数据即被捕获到光标处. 2 ...
- python获取usb扫描枪数据线_GitHub - liz7up/USB4ScanGun: USB扫描枪识别,已获取对应扫描枪返回值的测试程序...
USB4ScanGun PS:最近在测试点东西,要看这个项目的朋友麻烦用稍早前的版本.之后测试结果也会写在这里,或者博客中的.--2014年9月28日 USB扫描枪识别,已获取对应扫描枪返回值的测试程 ...
- 串口扫描枪+linux,C#读取RS232串口扫描枪
[实例简介] C#读取RS232串口扫描枪,可以实现多线程串口扫描枪输入 [实例截图] [核心代码] 串口线程接收更新控件 └── 串口线程接收更新控件 ├── 串口线程接收更新控件 │ ├── ...
- 全局钩子+正则表达式=后台自动获取扫描枪数据
最近在给瑞表做一个global project,主要工作是在Warehouse模块中加入现场的称重以及Barcode Collection和Transmission. Barcode Scanner用 ...
- 西门子-扫描枪数据读取 ----古月金真
1.1. 实训目标 1.职业技能:掌握扫描枪的使用方法 2.职业知识:了解本课程的学习的主要内容,掌握扫描枪的工作原理及动 手能力. 3.职业道德:培养学生对的认知分析能力,并能从硬件到软件的过渡,认 ...
最新文章
- c语言编写木马软件,【C语言】后台木马程序
- 016_循环变量内建函数
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度
- A Network in a Laptop: Rapid Prototyping for Software-Defined Networks
- 【数据结构与算法】之深入解析“外观数列”的求解思路与算法示例
- vue process.env获取不到_从文档开始,重学vue(下)源码级别
- thinkcell插件_PPT大神私藏的5款插件,用好它们,小白也能快速做出精美的PPT
- nmap扫描局域网存活主机_第十五天Nmap篇:每日一练之Kali Linux面试题
- PHP操作图片简单案例
- php天气预报小偷,php天气预报的小偷程序
- css文本样式(一):css字体样式
- 混淆的概念:SIF、CIF、4CIF、D1
- Markdown标题加粗居中写法
- The Bean Validation API is on the classpath but no implementation could be found 项目启动报错解决
- python实现千牛客服自动回复语_千牛旺旺客服设置自动回复的技巧有哪些?总结性文章来啦...
- 夜夜听雨(三)(中国社会科学院 郑哲)
- 7个等级 容灾等级_详细分析容灾备份的区别以及容灾的级别分类
- 【微服务】链路追踪 jaeger
- 玲珑杯 1138 - 震惊,99%+的中国人都会算错的问题(容斥)
- C语言 指针数组和指向指针的指针