CubeMX 配置工程:

①:引脚功能配置。 串口1调试用,USB_OTG_FS

②:时钟配置:

③:USB 参数配置:

然后直接生产代码。

因为我所要枚举的USB设备为组合设备,所以要根据设备的接口数及每个接口中的端点数去配置,如上图中的配置的最大接口数为10, 最大的端点数为5. 这些参数在usbh_conf.h  中可找到。

在调试的过程中问题:

在USB枚举成功后,进入HOST_CLASS_REQUEST: 时,该请求总是返回 USBH_FAIL 。 虽然还是没搞清楚该步骤的有啥作用,但是跳过该步骤,直接进入 HOST_CLASS ,后面的USB通信还是能正常进行。

USB 主机的发送和接收:

发送函数: USBH_CDC_Transmit(&hUsbHostFS,rxBuf,rxSize);

接收: USBH_CDC_Receive(phost,recBuf,6);

接收回调:

USBH_CDC_ReceiveCallback(USBH_HandleTypeDef* phost);

例如:void USBH_CDC_ReceiveCallback(USBH_HandleTypeDef *phost)

{

int len;

CDC_HandleTypeDef  *CDC_Handle = (CDC_HandleTypeDef*) phost->pActiveClass->pData;

len = USBH_CDC_GetLastReceivedDataSize(phost);

for(int i = 0; i<len; i++)

printf("data:%x\n",recBuf[i]);
}

STM32 F105 USB CDC host相关推荐

  1. STM32开发笔记33:解决USB CDC “该设备无法启动”问题

    单片机型号:STM32F401 调试STM32的USB CDC设备已经有好多次了,可以看一下前面写的日志,针对不同的STM32 MCU都进行了调试.原本以为STM32F4会很简单,可处处是坑,已经调到 ...

  2. STM32 USB CDC 虚拟多串口

    转自: http://www.stmcu.org.cn/module/forum/thread-613510-1-1.html 楼主  发表于 2017-9-28 22:30:04 | 只看该作者 | ...

  3. [原创] STM32 USB CDC 虚拟多串口

        creep 该用户从未签到 61 主题 1995 帖子 26 蝴蝶豆 版主 最后登录 2018-10-19 发消息 电梯直达 楼主  发表于 2017-9-28 22:30:04 | 只看该作 ...

  4. 在进行USB CDC类开发时,无法发送64整数倍的数据(续)

    1 前言 此文延续之前相同文章的话题,是对上篇文章的补充,之所以会有此文,主要是之前发现问题是在STM32F4上,解决方案也是基于CubeF4,但是,当相同问题出现在STM32F0上时,使用之前的代码 ...

  5. STM32 之六 USB IP(USB模块)、官方驱动版本 详解

    模块分类   在 STM32 众多系列的 MCU 中,USB模块并不是相同的,官方称呼为USB IP 不同.总的来说可以分文两大类:USB IP.OTG IP.这两种 IP又可以进行更进一步的细分,如 ...

  6. USB CDC从理论到实践

    本文摘自ST官网的"USB CDC类入门培训".整理的内容是我能够看得懂的,认为比较实用的,记录下来,以便以后查阅,同时也把原文档中的笔误给更正了一下.若要看更详细的可以去ST技术 ...

  7. 通过CubeMX实现STM32的USB支持

    通过CubeMX实现STM32的USB支持 1 添加晶振 2 添加USB,我用的是FS通道 3添加中间件,选择CDC虚拟串口 4 添加调试接口SWD 5 设置时钟,我用的是12M晶振,选择红线标识的通 ...

  8. stm32f407 usb cdc设备无法启动问题

    最新要做一个项目,要求基于STM32F407实现USB CDC设备,首先想到的就是直接用STM32CUBEMX工具来生成,OK,话不多说,直接上过程: RCC配置: Sys配置 USB_OTG_FS配 ...

  9. STM32通过USB实现Bootlader/IAP功能

    前沿: 最近在做STM32的USB Bootlader/IAP功能,也就是通过USB实现固件升级,本文介绍下实现的基本思路,希望对实现IAP的同学一个参考,改方法已经在产品中得到实际应用并验证是比较合 ...

最新文章

  1. HDUOJ-----2175取(m堆)石子游戏
  2. C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法
  3. Spark入门(四)Idea远程提交项目到spark集群
  4. 程序编码(机器级代码+汇编代码+C代码+反汇编)
  5. JavaSE——异常处理(异常简介、try-catch-finally、throws、throw)
  6. 二叉树总结(二)树的遍历
  7. php 谷歌搜索排名,我想在php中搜索谷歌搜索结果
  8. Android学习之Intent使用
  9. Tip: Unicode Debug和Debug有什么区别?
  10. Android反编译实战-去广告
  11. 【华为hcia基本了解(核心、汇聚、接入交换机)(网络设备-交换机、路由器、防火墙)(AP无线接入点、AC无线控制器)】-20211122
  12. iOS oc对网络图片进行黑白化处理
  13. 一测振系统包括微型计算机,实验六 拍振实验
  14. HTML 打开页面链接强制chrome 全屏浏览
  15. 一元云购短信-配置修改
  16. Problem L: 数羊————思维不严谨
  17. 计算机专业职业规划英语小作文,五年职业规划英语作文
  18. python输入随机的口算算式_excel随机取整函数:如何快速生成低龄口算算式
  19. 这个屡获大奖的Firefox浏览器又推出新版本啦,完全免费
  20. android 符号表情显示乱码,android输入框限制输入法中的表情符号

热门文章

  1. Java核心技术卷一基础知识第10版demo实例
  2. 51单片机课程设计《三路步进电机控制》
  3. python 列表排序_python列表排序有哪些
  4. 上网时遇到的 404 是什么意思?
  5. 竞价推广方案怎么写,这些点你get到了吗?
  6. android 模拟器使用intel硬件加速
  7. 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
  8. 初来乍到,springboot入门项目
  9. 云计算机专用显示器,电视秒变电脑显示器客厅云电脑操作方法
  10. 一种简单的色彩平衡算法的OPENCV实现