libusb的使用
2016-06-17 15:14
183 查看
m_idVendor = 0x4448; m_idProduct = 0x5916; m_pBus = NULL; m_pDevice = NULL; m_pDeviceHandle = NULL; // 初始化usb usb_init(); usb_find_busses(); usb_find_devices(); usb_set_debug(255); BOOL bGet = FALSE; for (m_pBus = usb_get_busses(); m_pBus; m_pBus = m_pBus->next) { for (m_pDevice = m_pBus->devices; m_pDevice; m_pDevice = m_pDevice->next) { if(m_pDevice->descriptor.idVendor == m_idVendor && m_pDevice->descriptor.idProduct == m_idProduct) { bGet = TRUE; break; } } } if (!bGet) return communicateNotGetVIDAndPID; m_pDeviceHandle = usb_open(m_pDevice); if (m_pDeviceHandle == INVALID_HANDLE_VALUE) return communicateOpenUSBError; if (usb_set_configuration(m_pDeviceHandle, 1) != 0) return communicateOpenUSBError; if (usb_claim_interface(m_pDeviceHandle, 0) != 0) return communicateOpenUSBError;
m_idVendor = 0x4448;
m_idProduct = 0x5916;
int nSendBytes = usb_bulk_write(m_pDeviceHandle, m_nSendEndPoint, (char*)pSendBuffer, nSendCount, m_nTimeout);
int nRecvBytes = usb_bulk_read(m_pDeviceHandle, m_nRecvEndPoint, (char*)pRecvBuffer, nRecvCount, m_nTimeout);
int nClose = usb_close(m_pDeviceHandle);
相关文章推荐
- 算法导论第十六章-贪心算法-Cpp代码实现
- Linux Shell超详细系列教程
- MTK平台camera小结(一)
- SQLite使用模糊查询
- 也谈谈webview因为重定向而无法goBack的问题
- MFC 六大机制 (1) MFC程序的初始化
- 疑问:MySQL死锁信息
- Maven使用
- FragmentPagerAdapter与FragmentStatePagerAdapter区别
- Java语言程序设计【基础篇】【chapter08_8.7】
- 网络抓包工具Charles的介绍与使用
- Github与Git的初次相遇(Windows版)
- echarts使用指南
- strust+spring+redis+sqlite配置
- 脚本启动JD-GUI
- 斐波那契数列算法分析
- jdbc连接数据库
- 4200亿卢比银行可控制15个负债累累的公司
- Install Exchange 2016 Edge Transport server
- 索引