当前位置: 首页 > news >正文

评估企业网站建设网站建设价格正规

评估企业网站建设,网站建设价格正规,建材在哪些网站做,网站设计论文结论STM32 USB组合设备 MSC CDC实现 教程 教程请看大佬niu_88 手把手教你使用USB的CDCMSC复合设备(基于stm32f407) 大佬的教程很好,很详细,我调出来了,代码请见我绑定的资源 注意事项 值得注意的是: 1、 cu…

STM32 USB组合设备 MSC CDC实现

教程

教程请看大佬niu_88
手把手教你使用USB的CDC+MSC复合设备(基于stm32f407)
大佬的教程很好,很详细,我调出来了,代码请见我绑定的资源

注意事项

值得注意的是:
1、
cubemx固件库存储位置是
C:\Users\你的用户名\STM32Cube\Repository\STM32Cube_FW_F4_V…(你的固件版本号)

STM32Cube_FW_F4_V1.28.1\Middlewares\ST\STM32_USB_Device_Library\Class
即可找到CompositeBuilder的例子文件
2、
注意一下,usbd_composite_builder.h中
一些宏定义
USBD_CMPSIT_ACTIVATE_MSC
USBD_CMPSIT_ACTIVATE_CDC
在#include的下面
应该移到上面去,否则编译时找不到
3、
usbd_composite_builder.h修改配置描述符数组长度,宏定义USBD_CMPST_MAX_CONFDESC_SZ改成106这里
文件里本来是300,它之后会存入uint8的数组里,300会变成44,所以要修改
4、
复合设备编译宏USE_USBD_COMPOSITE
可在编译器预处理宏定义里添加
5、
我这版本比较新,使用USE_USBD_COMPOSITE后
usbd_cdc.h中

#ifdef USE_USBD_COMPOSITE
uint8_t USBD_CDC_SetTxBuffer(USBD_HandleTypeDef *pdev, uint8_t *pbuff,uint32_t length, uint8_t ClassId);
uint8_t USBD_CDC_TransmitPacket(USBD_HandleTypeDef *pdev, uint8_t ClassId);
#else
uint8_t USBD_CDC_SetTxBuffer(USBD_HandleTypeDef *pdev, uint8_t *pbuff,uint32_t length);
uint8_t USBD_CDC_TransmitPacket(USBD_HandleTypeDef *pdev);
#endif /* USE_USBD_COMPOSITE */

这两个函数会使用组合设备版本,多了个classId的参数。参考大佬的代码,使用时可以如下修改。
比如

/*** @brief  CDC_Transmit_FS*         Data to send over USB IN endpoint are sent over CDC interface*         through this function.*         @note*** @param  Buf: Buffer of data to be sent* @param  Len: Number of data to be sent (in bytes)* @retval USBD_OK if all operations are OK else USBD_FAIL or USBD_BUSY*/
uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len)
{uint8_t result = USBD_OK;/* USER CODE BEGIN 7 */USBD_HandleTypeDef *pdev = &hUsbDeviceFS;/* Get the class index relative to this endpoint */uint8_t idx = USBD_CoreFindEP(pdev, CDC_IN_EP);//获取classIDMy_usb_fs_cdc_transmited = false;USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef*)hUsbDeviceFS.pClassData;if (hcdc->TxState != 0){return USBD_BUSY;}USBD_CDC_SetTxBuffer(&hUsbDeviceFS, Buf, Len, idx);result = USBD_CDC_TransmitPacket(&hUsbDeviceFS, idx);/* USER CODE END 7 */return result;
}

关于我的资源

最后成功截图
成功现象
我的开发环境:vscode eide插件 工具链arm-gcc
使用的芯片是stm32f405rgt6,大容量设备是SD卡,调试用的串口是串口6

http://www.yayakq.cn/news/105230/

相关文章:

  • wordpress插件 stock爱站网站长seo综合查询
  • 长基建站网站的建设目标有哪些
  • 做量化投资网站以前做视频的网站
  • 医院门户网站开发服务器租用后怎么使用
  • 网站建设指导思想和目标公司做网站 手机 电脑
  • 微网站的链接怎么做的wordpress邮件设置方法
  • 网站建设前期准备方案荆州网站设计
  • 360云主机可以建设网站吗专业的餐饮网站建设
  • 查看网站注册信息百度网盟推广步骤
  • 河南整站关键词排名优化软件公司做网站会计凭证怎么做
  • 重庆所有做网站的公司商业网站设计专业
  • 网站上seo怎么做石家庄专业网站设计电话
  • 网站建设傲鸿网站建设公司怎么
  • 印度喜欢用什么框架做外贸网站WordPress文章图片自动圆角
  • 网站建设培训学校微信公众号手机网站
  • 大岭山镇网站建设软件开发的五个基本步骤
  • 建设九九网站旅游网站建设规划书主题
  • 做搜狗手机网站长尾千万别学网络工程
  • 龙泉市建设局门户网站做it的在哪个网站找工作
  • 公积金门户网站建设方案企业网站每年要多少钱
  • 网页设计新建站点伊宁市做网站
  • 建设信用网站的作用全球做的比较好的网站
  • 深圳市做物流网站做网站遇到的问题及解决方法
  • 专门做自由行的网站目前比较火的电商平台有哪些
  • 什么做书籍的网站好嵊州市住房和城乡建设局网站
  • 做馋嘴小栈官方网站长春网站制作专业
  • 浅谈全球五金网电子商务网站建设做照片相册最好的网站
  • 怎么找网站啊学校网站源码开源
  • 义乌建网站wordpress图片托管
  • 网站用户登录流程图重庆妇科医院咨询