
ART-PI H750-USB-MSC 设备描述符异常
stm32h743 usbh msc 读写 u盘 新购买的 u盘只能识别到但不能进行读写 ?
stm32哪个系列芯片支持2个USB,主设备,且usb可以支持标准的uvc协议,哪里可以下载usb开发库
新手小白,SMT32 TP Tool Windows无法安装驱动怎么处理
如何用c#使用ST25R3911DISCOComm.dll来读取和写入NDEF区的数据,需要相关例程,感谢各位大佬拯救一下我啊!????
USBx配置有哪些小的需要注意的细节?
H743ZIT6 USB虚拟串口 CDC电脑无法识别(获取描述符失败)
STM32F407的高速USB,采用的是虚拟串口方式,VCP驱动有linux系统的吗
STM32H533的USB使用问题
stlink 串口驱动安装前面有叹号软件里无法找到
评分
查看全部评分
我的USB模块虽然和stm32用的是相同的IP核,但实现方式很不一样,没有像stm32这样分的很清楚,它是在一个otg_endpoint_creat函数中:
otg_endpoint_index = endpoint -> ux_slave_endpoint_descriptor.bEndpointAddress & ~UX_ENDPOINT_DIRECTION;
/* Fetch the address of the physical endpoint. */
ed = &dcd_otg -> ux_dcd_otg_ed[otg_endpoint_index];
先通过上面两个语句确定端点方向和ID号
然后再构建端点DIEP或DOEP寄存器,在再通过switch函数来case宏,如UX_CONTROL_ENDPOINT、UX_BULK_ENDPOINT等等,其中如批量端点,
case UX_BULK_ENDPOINT:
put_string("UX_BULK_ENDPOINT");
/* Set the MPS field. */
otg_endpoint_register |= endpoint -> ux_slave_endpoint_descriptor.wMaxPacketSize;
/* Set the SD0PID flag. */
otg_endpoint_register |= UX_DCD_OTG_FS_DIEPCTL_SD0PID;
/* Bulk endpoint. Set the USBAEP and SNAK fields. */
otg_endpoint_register |= UX_DCD_OTG_FS_DIEPCTL_EPTYP_BULK ||UX_DCD_OTG_FS_DIEPCTL0_USBAEP | UX_DCD_OTG_FS_DIEPCTL0_SNAK;
/* Store the endpoint type. */
ed -> ux_dcd_otg_ed_type = UX_BULK_ENDPOINT;
break;
这样是不是只通过这一个函数,就可以将在描述符中设置的端点都能初始化吗?
这里对结构体变量进行赋值,赋值完了再进行配置吧
是的,所以想,这样似乎不需要像stm32里添加一个端点就需要添加一个对应的初始化函数等等吧。。。