如何使用C语言编程读取从电脑usb接口的信息。

如何使用C语言编程读取从电脑usb接口的信息。,第1张

可以打开USB接口上的设备,或者打开USB控制器,那涉及到windows的驱动访问。

一般访问设备使用CreateFile打开设备,然后使用ReadFile/WriteFile读写设备。

比如:

HANDLE hFile = CreateFile(..., FILE_FLAG_OVERLAPPED, ...)//指定以异步方式打开

BYTE bBuffer[100]

OVERLAPPED o = { 0 }

o.Offset = 345

BOOL bReadDone = ReadFile(hFile, bBuffer, 100, NULL, &o)// bReadDone 指定I/O请求是不是以同步方式打开

DWORD dwError = GetLastError()

if (!bReadDone &&(dwError == ERROR_IO_PENDING)) { //异步方式打开

// The I/O is being performed asynchronouslywait for it to complete

WaitForSingleObject(hFile, INFINITE)

bReadDone = TRUE

}

if (bReadDone) {

// o.Internal contains the I/O error

// o.InternalHigh contains the number of bytes transferred

// bBuffer contains the read data

} else {

// An error occurredsee dwError

}

可以,仅记住,linux的一切都是文件,对文件的 *** 作也就是对设备的 *** 作。

比如我接上一个鼠标,目录下有对应设备文件(一般是在/dev/input/mouse1),我可以对其进行IO *** 作,从而检测鼠标位移,点击等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8073260.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存