USBD设备虚拟串口使用(即CDC)1.进入RT-THREAD官网,查看新手指导教程,这里用RT-Thread Studio软件测试。
打开rtconfig.h文件,在USB驱动配置的地方增加USB设备的BSP定义选项和D+上拉电平控制引脚(从drv_gpio.c中按照对应的管脚查到对应的控制编号,如果D+已经接到搞电平可以不用添加这个控制),修改USB_VENDOR_ID 为0x0483,修改USB_PRODUCT_ID为 0x5740(需改这两项才可以使用ST提供的Windows虚拟串口驱动,否则设备被识别...
数据传输完成触发USBD_IRQ_HANDLER,然后调用drv_usbd.c中的HAL_PCD_DataOutStageCallback/HAL_PCD_DataInStageCallback 调用rt_usbd_ep_out_handler(&_stm_udc, epnum, hpcd->OUT_ep[epnum].xfer_count)或rt_usbd_ep_in_handler(&_stm_udc, 0x80 | epnum, hpcd->IN_ep[epnum].xfer_count) 向...
2.1打开时钟 2.2选择USB_OTG_FS的Mode为Device_Only 2.3 选择USB_DEVICE的Class For FS IP为VPC 2.4时钟设置,这里的时钟设置必须为48MHz 2.5勾选不生成main() ③、在项目中,找到cubemx文件夹,将 usbd_conf.c文件中的void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle)复制到board.c下;并将cubemx目录下没...
1、关于速度问题,我们需要修改管道的传输大小,在,usbhost_core.c,中的 rt_usb_hcd_pipe_xfer函数中, 将pipe->ep.wMaxPacketSize ,修改为 512或1024,读U盘文件时,这里的值默认应该是64字节,这样的话,会很慢,修改这个值后,会有很大的速度提升 2、偶发的异常,会导致U盘某些操作失败后,死锁,我们需要增加一个...
This operator will not recovery.n");/* 查询固件大小 */result=stat(USBH_UPDATE_FN,&file);if(result==RT_EOK){LOG_D(""USBH_UPDATE_FN" file size is : %dn",file.st_size);}else{LOG_E(""USBH_UPDATE_FN" file not fonud.");goto__exit;}if(file.st_size<=0){LOG_E(""USBH_UPD...
config BSP_USBD_TYPE_FS bool # "USB Full Speed (FS) Core" endif 1. 2. 3. 4. 5. 1.2 Tools构建 该文件夹就是工程构建的脚本, AI检测代码解析 importos importsys importshutil cwd_path=os.getcwd() sys.path.append(os.path.join(os.path.dirname(cwd_path),'rt-thread','tools')) ...
配置ART-Pi Smart开发板以进入USB固件下载模式。在开发板上电后,先按住“BOOT启动按键”不松,再按下“RST复位键”,这样即可切换至USB固件下载模式。在Windows主机电脑上,启动烧录工具100ask_imx6ull_flashing_tool.exe,并确认烧录工具已成功与ART-Pi Smart USB连接。接着,在烧写软件的专业版中,选择并烧写制...
4、想到新的 STM32 BSP 所有的 BSP 都是用的同一份驱动,这样就可以根据有没有做好的 USB 驱动来判断有没有 BSP 支持 USB 功能了。打开rt-thread\bsp\stm32\libraries\HAL_Drivers目录。如下所示,可以看到里面果然有 usb 的驱动文件,叫做drv_usbd_fs.c。
1、通过一个USB转TTL的芯片转换,可以放在主板上,也可以用那种转换小板,这个大家应该比较熟悉了,某宝上面随处可见。 2、通过一个TTL转232的芯片转换,然后再接一根USB转232的连接线,这个线常用DB9接口。 3、通过一个TTL转485的芯片转换,然后再接一根USB转485的连接线。