Android USB Host与USB Hid设备的通信(打印机和android通信,通过USB)

记事:android和打印机通过网络通信(网络打印机),有空也要记录一下
堆栈关系也要记录一下(通常我们所说的堆栈都是指栈,比如一个方法被调用的时候,我们就会把相关变量压栈(嵌套才会压栈,一个方法调用完是要出栈的),除非递归,一般情况下,栈是不会溢出的)
近期一直在做Android USB Host与USB Hid设备的通信,要被搞死了。资料太少了,有空的时候要总结一下用到的相关知识

首先,Google Developer提供的方法了bulkTransfer()去实现两者之间的通信
流程设计:

  1. 首先使用bulkTransfer(),发送打印数据给打印机;
  2. 传输是无状态的(我猜的),即不能像接口一样,传过去就能知道有没有打印成功,我们通过1的流程,只能确定我们发送成功了,至于对方有没有接收成功是不清楚的;
  3. 在发送打印数据之前,我们会开启打印机的自动回复,这样当打印机的打印状态发生变化时,我们就可以调用bulkTransfer()接收到数据。
  4. 算了算了,好像我自己还没搞明白,回头再来说这个问题

开启打印机的自动回复:byte[] CMD_SET_STATUS_AUTO_REPLY = {0x1D, 0x61, 0x4E}
允许自动状态回复(ASB)是用来干嘛的

传送门:android官方API
传送门: bulkTransfer返回-1
传送门: bulkTransfer返回-1
参考:
Android USB Host 与 HID 之通讯方法(bulkTransfer()与controlTransfer()方法使用)

猜你喜欢

转载自blog.csdn.net/changhuzichangchang/article/details/82021156
usb
今日推荐