云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 如何修改USBCDC成为自定义USBBulk批量传输设备(精)

如何修改USBCDC成为自定义USBBulk批量传输设备(精)

  • 62 次阅读
  • 3 次下载
  • 2026/4/23 19:33:51

'A',0, 'C',0, 'T',0, 'I',0, 'O',0, 'N',0 };

4. 修改 USB 处理过程

由于自定义的 USB 设备类没有 CDC 的 Set Control Line State处理过程, 修改 virtual_com.c文件中 start_transactions的定义,默认使能传输,或者删除与 start_transactions变量相关 的判断代码。

static bool start_transactions = TRUE; void TestApp_Init(void { ………

/* Initialize the USB interface */

g_app_handle = USB_Class_CDC_Init(&cdc_config; g_recv_size = 0; g_send_size= 0;

while (TRUE {

/* call the periodic task function */ USB_CDC_Periodic_Task(;

/*check whether enumeration is complete or not */ if((start_app==TRUE && (start_transactions==TRUE {

Virtual_Com_App(; }

}/* Endwhile */ }

5. 调用 LibUSB-Win32进行 USB 通信

LibUSB-Win32是一个用于 Windows 操作系统(Win98SE 、 WinME 、 Win2k 和 WinXP 上的 通用 USB 设备驱动程序。该驱动程序允许使用者在不写任何一行核心驱动程序代码的情况 下,可以访问 Windows 系统上的任意一个 USB 设备。该驱动程序具有以下特点:

?能够与任意一个已安装的 USB 设备进行通信 ?可被用作自己开发的 USB 设备的驱动程序 ?支持批量和中断传输

?支持 USB 规范中定义的所有标准设备请求

?支持 USB 设备制造商的自定义请求

LibUsb-Win32是由 http://libusb-win32.sourceforge.net发布的,遵守 GNU Lesser General Public License (LGPL 和 GNU General Public License (GPL 许可协议。这些协议明确规定:允许 LibUsb-Win32用于商业软件,而不只是开源软件。

5.1安装 PC 上位机驱动程序

将修改后的 CDC 代码编译下载到 Kinetis MCU运行,连接 PC 与 MCU Device之间的 USB Cable , PC 电脑提示发现新硬件。

通过 LibUSB-Win32自带的 inf-wizard.exe 生成向导可以生成 USB 驱动程序。 inf-wizard.exe 程序扫描系统活动的 USB 设备,选择需要生成驱动程序的设备。

inf-wizard.exe 程序生成驱动程序 inf 文件,这个文件将作为产品发布时使用的驱动程序。

USB 驱动程序安装完毕后,可用在系统的“设备管理器”中看到已经正常工作的 USB 设备。 运行自带的 testlibusb-win.exe 程序就能读出 USB 设备信息。下图是 USB 设备类的描述符信 息。

5.2 上位机 USB 编程 libusb 设计了一系列 API 为应用程序所调用,通过这些 API 应用程序可以操作 USB 硬件。 将 libusb-win32 自带的

libusb0.dll,libusb.lib,usb.h 三个文件添加到上位机程序中。通过使用 七个函数,就可以与 USB 设备进行简单通信了,通信的主要流程可分为以下四步: 1 调用 usb_init 函数,进行初始化。 2 打开要进行通信的 USB 设备的句柄。首先依次调用 usb_find_busses、 usb_find_devices 和 usb_get_busses 这三个函数,获得已找到的

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

'A',0, 'C',0, 'T',0, 'I',0, 'O',0, 'N',0 }; 4. 修改 USB 处理过程 由于自定义的 USB 设备类没有 CDC 的 Set Control Line State处理过程, 修改 virtual_com.c文件中 start_transactions的定义,默认使能传输,或者删除与 start_transactions变量相关 的判断代码。 static bool start_transactions = TRUE; void TestApp_Init(void { ……… /* Initialize the USB interface */ g_app_handle = USB_Class_CDC_Init(&cdc_config; g_recv_si

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com