背景:公司最近需要用到外接打印机(型号:东芝标签打印机B-FV4T,采用东芝自定义的TPCL指令格式),现在市场上可以购买到的主流打印机一般都是支持一下通信模式的。

1:USB通信

2:网络通信

3:串口通信(一般是RS232)

4:蓝牙通信(东芝标签打印机B-FV4T,没有蓝牙,所以本人没办法测试)

原因:因为想要打印机做到即插即用,所以需要绕过官方提供的打印机驱动,使用打印机指令来进行打印控制。但是其实还是避免不了一些驱动的安装,比如USB转RS232转接线的驱动等,但是在Win10操作系统,所有驱动都会自己安装,不需要那么麻烦。

USB通信:

usb通信有很多方式,我查询了很多网上的资料,大体上有三种,1:LibUsbDotNet  2:CyUSB 3:Win_32Api

前两种方式都需要下载对应的库文件(大家可以百度查询相关资料,很多),第三种是直接调用win32_api的函数。

这三种方式我都进行了测试,讲讲各自的区别。

第一种:功能很强大,但是有个麻烦的地方是,必须用他自己的一个软件(inf-wizard.exe),对USB设备进行注册后,才能被识别,如下图。

第二种:CyUSB提供三种USB可识别的驱动,但是我的使用的打印机以下三种都不能识别,我不知道是不是我哪里没有设置对,或者是哪里使用出错了,反正最后没有识别到我的USB设备,就放弃了;

CyConst.DEVICES_CYUSB——由CyUSB.sys提供设备驱动的USB设备

CyConst.DEVICES_HID——USB人机接口设备(如键盘、鼠标)

CyConst.DEVICES_MSC——USB大容量存储类设备(如U盘、移动硬盘)

第三种:调用Windows API,由于没有调用人家封装的库,所以代码比较复杂,比较多,但是功能齐全,我最后就是使用了这个方法。大家可以参考这篇文章“C#与USB HID间的通信”,但是他这篇文章的 讲的是USB中HID类型的通信,可以借鉴一下,但是如果你的设备不是HID类型的话,还需要修改。

转:c# USB通信

网络通信:

其实网络通信什么好讲的,就是建立一个Socket对象进行通信即可。

转:c# 网络通信

串口通信:

串口通信,建立一个SerialPort对象进行通信,但是需要注意一些细节方面的设置,否则可能会导致通信失败。

转:c# 串口通信

C# 开发USB通信、串口通信、Socket通信(适用于打印机的指令操作等)相关推荐

  1. 使用Petalinux实现ZYNQ的linux程序开发(实现简单的socket通信程序)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 (一)实现功能及开发环境 一.实现功能 二.开发环境 (二)实现步骤 一.开发环境搭建 1.设置Ubuntu 和 Windo ...

  2. ​​串口转socket通信

    (1)串口转socket的思路 (2)串口结构体的定义 串口有波特率.校验位.数据位.停止位等等的设置,把这些设置打包在一起. typedef struct __COM_PORT // 定义一个串口结 ...

  3. ABB 机器人二次开发另一种方式 socket通信

    前言: 前面我们说了一种方式是用 abb 官方提供的 c# sdk,只有c#的 所以有一定的局限性 PC SDK 还有另一种方法 写RAPID 代码 建立客户端/服务器 通过socket 与上位机通信 ...

  4. QT中使用C++ socket通信(了解socket通信、socket的三次握手和四次挥手、socket函数说明、客户端与服务端的代码实例)

    一.TCP/IP协议四个抽象层: 二.socket位置 socket就在应用程序的传输层和应用层之间,传输层的底一层的服务提供给socket抽象层,socket抽象层再提供给应用层. 三.socket ...

  5. Socket通信学习(二):序列化与反序列化

    Socket通信学习(二):序列化与反序列化 HoloLens的开发最近需要用到Socket通信,所以创建本系列进行记录,欢迎大家批评指正! 前言 Socket通信的默认发送的数据为byte[]类型, ...

  6. Socket通信学习(一):Socket通信原理

    Socket通信学习(一):Socket通信原理 HoloLens的开发最近需要用到Socket通信,所以创建本系列进行记录,欢迎大家批评指正! 前言 应用Socket进行设备通信,首先需要了解Soc ...

  7. Android中socket通信简单实现

    Android中socket通信简单实现 socket通信需要有一个服务器和客户端,可以把同一个APP作为服务器跟客户端,也可以分开成两个APP. 先上个图: 这里以一个APP作为服务器跟客户端为示例 ...

  8. 安卓开发板之串口通信,通过modbus Rtu协议控制下位机

    安卓开发板之串口通信,通过modbus Rtu协议控制下位机 1.环境准备 2.编写串口操作核心类 3.编写测试类 前言:因为公司最近有个人脸识别门禁的项目,这个项目主要业务是实现远程人脸注册,管理员 ...

  9. 单片机、usb和串口通信

    单片机 1 单片机定义 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU.随机存储器RAM.只读存储器ROM.多种I/O口和中断系统.定时器/计数器等功能(可能 ...

最新文章

  1. Ubuntu下用matplotlib作图时显示中文
  2. 多环境下读取不同的配置文件
  3. n条线分平面问题解决方法总结
  4. docker镜像指定安装源_Docker快速安装以及换镜像源
  5. opencv之解决对加载图片大小限制的问题
  6. Codeforces 448 D. Multiplication Table
  7. 小米6X反复自动重启停不下,取下卡槽、电源音量-,ok了
  8. python抓取微博数据_技术入门 | python利用微博api获取数据
  9. 电脑如何进行长截图?
  10. 专访Nick McKeown:网络领域的游戏颠覆者
  11. java-Socket文件传输
  12. 微服务面试题 - Spring Cloud
  13. 【关于我】一个专注于嵌入式物联网架构设计的攻城狮
  14. 华为语音解锁设置_华为手机语音唤醒解锁 华为语音助手解锁屏幕
  15. 阅读技术书籍原著的困扰:技术书籍中的符号用英语该怎么念?
  16. 正则表达式 中文 英文 空格
  17. 用异地组网路由器,实现家校互联
  18. 使用手机自带邮箱软件登陆网易企业邮箱
  19. C语言代码覆盖率测试软件,代码覆盖率检测工具GCOV
  20. 谷歌浏览器突然变卡的解决方法

热门文章

  1. 解密百度大数据:百度是如何使用hadoop的,并且做了哪些改进?
  2. 社交神器Tinder现在可以让你用音乐来寻找约会对象
  3. PDF加密、解密内幕(二)- PDF文件口令加密内幕
  4. QCI等级对应的相关业务
  5. 笔试-混淆矩阵-召回率
  6. 小马哥--高仿苹果7 主板型号A8232 系列刷机拆机主板图与开机识别图
  7. Web前端学习课程笔记之HTML+CSS
  8. 黑马程序员--- c语言基础--基本语法
  9. 咸鱼CAD笔记—CAD初识
  10. 【英文分词】Stemming Segmentation,基于词干分词