C# 扫码器串口对接
我们公司写web的系统,要嵌入到别人的桌面系统中,现在有业务要做扫码功能。
在某宝上找了一个支持二次开发,并且是usb的(有串口的直接对接,但是一般电脑都没有这个接口放弃,找了一个usb的厂家)
该厂家usb接口是需要一个操作安装一个驱动来虚拟一个串口,以上步骤就跳过了,上代码先。
/// <summary>/// 连接串口/// </summary>/// <param name="name">串口名称</param>public void SerialPortConn(string name){SerialPort serialPort = new SerialPort(name);serialPort.DataReceived += (object sender, SerialDataReceivedEventArgs e) =>{/*** 这里面是扫码器传过来的*/SerialPort sp = (SerialPort)sender;byte[] buffer = new byte[sp.BytesToRead];sp.Read(buffer, 0, sp.BytesToRead);// 这个判断是一般二维码比这个长,而这个长度更多的是扫码器系统的反馈if (buffer.Length == 6 || buffer.Length == 7){// 初步判定这里是扫码器的内容// 扫码器的内容是16进制,所以要用不一样的方式解码去判断string str = BitConverter.ToString(buffer);if (str == "04-D0-00-00-FF-2C"){MessageBox.Show("设置成功");return;}else if (str == "05-D1-00-00-01-FF-29"){MessageBox.Show("设置失败");return;}// 上面没有命中的话,就单单做是二维码内容string content = System.Text.Encoding.UTF8.GetString(buffer);// content 是二维码内容,开始你自己的业务吧}};serialPort.Open();}/// <summary>/// 发送指令/// </summary>/// <param name="bytes"></param>private void send(byte[] bytes){serialPort.Write(bytes, 0, bytes.Length);}/// <summary>/// 发送指令/// </summary>/// <param name="cmd"></param>private void send(string cmd){serialPort.Write(cmd);}
我对接的厂家是16进制的指令,文档描述是这样子的
代码是这样子写的,自己模仿模仿吧,我也不知道怎么说给你听了(还是说一下吧,就是字节数组,只是数组的每一项前面加一个x0)
var bytes = new byte[] {0x07,0xC6,0x04,0x08,0x00,0x8C,0x02,0xFE,0x99,
};
send(bytes);
这样就可以了。
====================================================================================
估计要被打死,上面的name怎么来,这个是自己捣鼓的,应该有更好的方案,当时我没有找到,暂时还没有用,先用着我的简单的方案先吧
大致思路是借助设备的串口,发送指令之后会有回应,得到正确的回应为我们要的设备,代码就不贴完整的了,看上面的代码自己整吧
// 获取所有串口的名称
string[] PortItems = SerialPort.GetPortNames();
C# 扫码器串口对接相关推荐
- Android 扫码器串口通讯
最进接串口扫码器,参考 github上开源的串口通讯库https://github.com/cepr/android-serialport-api实现扫码器通讯. 1.集成 Android Studi ...
- vue 扫码枪 扫码墩 扫码器 中文输入影响 大小写影响 解决方案 js web端扫码枪对接 前端扫码枪 html扫码枪 vue扫码枪
# vue3 扫马枪/扫马墩/扫码器 中文输入影响 大小写影响 解决方式 ## ps 你们觉得好用的话,能不能给我点个赞啊
- 扫码器:壹码通(EMT 6621)二维码带多个回车换行处理
摘要:二维码运用越来越广泛了,目前在医院中一个二维码可以串联多个系统,二维码的内容也可以设置一些特殊字符去达成系统便捷性.本次遇到为二维码中开头内置了回车和空格,在程序判断为回车(KEY_ENTER) ...
- 商品扫码器驱动如何设置 商品扫码器驱动设置步骤
商品扫码器驱动如何设置?商品扫码器驱动设置步骤,商品扫码器一般分为三种接口,分别为USB接口.串口和键盘口.只需要选择适合使用的接口,也就是说电脑或其他设备上有什么接口,就选择什么接口就对了,就大多数 ...
- C#光功率计_扫码器导入excel
公司要求扫码器读入编码,然后光功率计取出数值,等完成后把两个数据导入excel 用了将近一个月 时间 以前在学校一直想学一款上位机的,但是C#,LABVIEW,QT,VC,deliphi 选择太多了 ...
- C# 控制新大陆扫码器自动扫码读取序列号
在开始代码前先要准备好两件事: 首先,要安装新大陆的相应驱动,使得COM口能识别到扫码器. 其次,将扫码器切换到代码控制的自动扫码模式.这个找厂家要一下就行,他们会给你一串码,用扫码器扫一下这些码就能 ...
- 三菱PLC与扫码器通讯控制PLC工作
实现目标: 1.通过扫码器,扫码到的二维码或者一维码 ,控制PLC的输出(对PLC的输出进行控制),本案例中通过扫描二维码控制Y0-Y3的点亮 2.熟悉232串口通讯RS通讯控制模式 硬件配置: 1. ...
- 虹科HK-NT 50网关让扫码器轻松连接工业PLC
扫码器或扫码枪是一种读取条形码或二维码信息的机器.它利用发射出红外线光源,然后根据反射的结果,利用芯片来译码,最后再返回条形码或二维码所代表的正确字符.传统的扫码器主要应用在快递公司\仓储物流\仓库盘 ...
- 获取USB扫码器输入
USB扫码器相当于键盘输入 重写onKeyDown方法监听输入 int count = 1; StringBuffer sb = new StringBuffer(); TextView tv;pub ...
最新文章
- win10环境下 运行debug程序
- 适用于Android的OpenSL ES指南-OpenSL ES的Android扩展
- TableLayoutPanel
- datagridview 设置选中行_Excel实用两大技巧,删除重复行,神奇选择性粘贴
- C#开发微信门户及应用(18)-微信企业号的通讯录管理开发之成员管理
- 2、CentOS中修改yum源
- CCNA培训课总结笔记--RIP的基本配置(五)
- 【转载】启发式搜索技术A*【译】
- Acwing:最长回文子串
- 2021-01-21安装FireFox插件FireBug和FirePath时遇到得坑(windows10)
- 在线去水印网站_一键去水印工具
- OSWorkflow(转载)
- CSS教程:认真学习haslayout
- 六十星系之11紫微破军坐丑未
- 懂得爱――在亲密关系中成长
- 率土之滨鸿蒙之初,实用主义大菜刀攻略:从赛季初到赛季末
- Tableau已经安装且重装时提示试用期结束了怎么办?(该方法已经过期!请到官网下载免费版,谢谢!)
- 如何将IE10降到IE9
- (二)Nick:句子成分和基本句型
- 舆情监控与python_python 舆情监控
热门文章
- 中央空调如何调节温度html,中央空调温度怎么设定 中央空调温度调节方法【详解】...
- 有什么建站软件可以快速建网站?
- 班章管家可靠安全月入5k怎样理财?怎样合理财脱节月光族?
- Homekit智能家居系列一智能触摸面板开关
- spa,ssr对seo的影响和区别
- MAUI 入门教程系列(4.通用主机)
- 不得不知的 “2021 阿里巴巴春招(实习生)” 那些事儿
- 【office 2019】不能显示公式解决办法
- 达势股份冲刺港股:年营收16亿 达美乐比萨是重要股东
- open3d.geometry.TriangleMesh有关函数(笔记2)