第1部分:参照“正点原子USB虚拟串口工程移植步骤”移植ST的USB HID工程(失败了); 第2部分:在1的基础上,替换USB HID初始化代码为ST 例程中的代码,编译后根据报错调试(失败了); 第3部分:直接移植ST的USB HID工程,根据报错调试代码(成功了)。 小孙想要总结这一年来学到的关于stm32的USB相关知识,但又不知道怎么...
点击1处,选中后Device(FS),3处选择HID,其他参数默认。 配置USB 时钟 USB时钟需设置为48MHz。 增加堆栈大小,防止溢出 3. 编辑代码 更改为键盘。 设备描述符改为键盘 usbd_hid.c文件中USBD_HID_CfgFSDesc[USB_HID_CONFIG_DESC_SIZ]对应值由0x02改为0x01。 报告描述符改为键盘 usbd_hid.c文件中HID_MOUSE...
USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType: Configuration */ USB_HID_CONFIG_DESC_SIZ,/...
1、使用USB 的鼠标方式进行。HID设备方式,即插即用。在输入端可以看到人体输入端; 2、HID设备,可以使用porthelper调试USB,BUS Hound抓取USB包。 资料参考1:http://www.openedv.com/posts/list/41451.htm 2.1 通过Bus Hound软件可以看到连接成功外设USB设备:(如下图所示) 2.2 鼠标按下后获取的数据,左键、右键还...
USB 设备端(Device)发送数据测试,在 usbx_customhid_thread_entry()线程里面每 1S 钟向 Host 发送一包 64Byte 字节数据,然后我们可以在 PC 机端可以看到已成功收到了数据。USB 设备端(Device)接收数据测试,我们在 PC 通过向端点 2 发送数据。在 STM32U5 上通过调试窗口我们可以看到 USB device 已经成功的...
在Middleware中选择USB_DEVICE设置,在Class For FS IP设备类别选择Human Interface Device Class(HID)人机接口设备。 参数配置保持默认。 HID_FS_BINTERVAL(主机读取设备数据时间间隔):0xA(STM32将数据发送到一个缓存区,而不是直接发送到上位机,而上位机每隔一端时间会来访问缓冲区读取数据。读取时间间隔过快会导致多...
HID_FS_BINTERVAL(指定中断传输的轮询间隔):可选0x01 ~ 0xFF,以毫秒为单位,此处设置为0XA表示USB主机每10ms轮询一次USB设备获取新的信息 Parameter Settings和Device Descriptor选项卡下其余参数请阅读STM32CubeMX教程30 USB_DEVICE - MSC外设_读卡器实验”3.0、前提知识“和”3.1.2、外设参数配置“两个小节 ...
关于stm32的usbHID功能调试,我是颇费周折,起初用一个STM32F107开发板上的例程,体验了一下,与PC交互,可以传送2个字节的数据。超过两个字节的数据就会产生复位信号(用bushound观察到的)。后来看看,改了一些程序中的设置,把最大传输值改了,但是还是不行的,症状是PC向单片机发送多个字节的数据可以成功,单片机向PC发送...
STM32F103芯片集成了USB2.0 Full-Speed接口,可以用作与外部设备进行通信,如电脑。基本连接如下:其中,V3P3是USB接口VBUS通过LDO转换为3.3V。 因为STM32F103内部没有集成USB2.0 Full-Speed的上拉电阻,因此外接上拉电阻(详细见上篇文章“USB2.0系列—HID设备”),然后将MCU_DM和MCU_DP分别接MCU的DM和DP,即可实现USB2.0...
在STM32上实现自定义HID(Human Interface Device)设备需要多个步骤,包括理解HID设备的基本概念、配置STM32项目、编写代码、测试与调试。以下是详细的步骤和示例代码: 1. 理解HID设备的基本概念和工作原理 HID设备是一类能够直接与人交互的设备,如键盘、鼠标等。它们通过USB与主机通信,通常不需要安装驱动程序即可工作。HI...