STM32深入学习 今天在手机上研究USB编程思路,发现果然有两种不同方法,即HID和CDC。其中CDC为虚拟串口类库,HID则是USB人机接口库。可见代码肯定不同。从传输速度上看,应该采用HID。而CDC的虚拟串口据说从PC传1字节要10毫秒,比较慢吧。 做这些代码框架的话,只要用STM32CubeMX就行了。我今天还头一次看到有这种东西。
项目工程中加入\stm32_mw_usb_device master\Class\CDC\Src 中的 usbd_cdc.c,并修改相应头文件名称和路径,解决编译问题;另外,由于移除了usbd_hid.c文件,所以在应用层也需要并屏蔽掉HID相关的应用层操作;主要比如HAL_GPIO_EXTI_Rising_Callback(),然后编译,会遇到下面3个错误:...
第一点,支持 USB2.0 全速,而不是2.0高速 480Mbit/s。有 1~8 个(双向)端点,这是能完成组合设备的基础,按照 CDC + DAP 组合设备来说,一共需要 1(控制传输)+ 2(CDC)+1(HID) = 4 个端点的,更不要说再模拟一个 U盘了。CRC、NRZI编解码,这个可以让你不必关心每一位是什么情况,你只需要处理底层给你的...
第一点,支持 USB2.0 全速,而不是 2.0 高速 480Mbit/s。 有1~8 个(双向)端点,这是能完成组合设备的基础,按照 CDC + DAP 组合设备来说,一共需要 1(控制传输)+ 2(CDC)+1(HID) = 4 个端点的,更不要说再模拟一个 U 盘了。 CRC、NRZI编解码,这个可以让你不必关心每一位是什么情况,你只需要处理底层...
下面测试的是HID和CDC的复合设备的例子。程序中使用的RTOS 是ThreadX,总共创建了4个任务用于初始化USB...
有1~8 个(双向)端点,这是能完成组合设备的基础,按照 CDC + DAP 组合设备来说,一共需要 1(控制传输)+ 2(CDC)+1(HID) = 4 个端点的,更不要说再模拟一个 U 盘了。 CRC、NRZI 编解码,这个可以让你不必关心每一位是什么情况,你只需要处理底层给你的字节数据即可。
Device\CDC_Standalone\USB_Device\App 直接替换掉之前 HID 的usbd_desc.c 和对应头文件,编译并出现...
b.SWD 接口,全系列 Cortex-M0/M3/M4/M7 下载和调试(HID) c.自带 USB 虚拟串口,方便程序调试(CDC) d.拖拽下载功能,模拟 U 盘,将 Hex 或 bin 格式文件拖拽或拷贝至 U 盘完成下载(MSC) e.串口下载程序,改进官方程序实现(串口 ISP) f.输出 5.0V 电源,可供电目标电路 ...
移植了官方usb host CDC的例子,结合原子提供的hid的例程进行调试,未果,只能进行到“USBH_USR_Device...
项目需要通过GPIO控制USB连接是串口还是HID我建了两个工程,然后将两个工程合并。Error[Li005]: no definition for "USBD_CUSTOM_HID_SendReport" [referenced from E:\***\EWARM\NCS_MCU_V1.0\Obj\main.o] Error[Li005]: no definition for "USBD_CUSTOM_HID_RegisterInterface" [referenced from E:\***...