硬件设计

该核心板的USB插口有两个,一个是用于USB Slave的,可以用来做HID设备,把模拟STM32模拟为U盘等;另一个是USB Host设备,可以对插上的U盘的数据进行读写。

  • 图中J2是Micro-USB口,用于向整个板子供电,由于最大供电为500mA,所以板载资源耗电不能超过2.5W。
  • 上图中J1是USB Host设备,它需要向Slave(如U盘)供电,USB_POW用于控制是否供电。当USB_POW为低,Q1导通,5V的电源(来自)供到S5V上,为Slave供电。
  • 在调试USB-Host(读写U盘)功能时,只需要使用USB-Micro端口(Slave)供电,请拔掉P2插口中OTG_D+与USB_D+的短路帽及OTG_D-与USB_D-的短路帽。使之和USB-Micro端口(Slave)的通信断开。
  • 在调试USB-Slave功能时,需要使用USB-Micro端口(Slave)供电和通信。这时需要接上P2插口中OTG_D+与USB_D+的短路帽及OTG_D-与USB_D-的短路帽。

本实验用到了USB-Slave功能,所以需要接上P2插口中OTG_D+与USB_D+的短路帽及OTG_D-与USB_D-的短路帽。

另外,由于实验要用到串口打印功能,这里使用USART3进行通信,注意USART3的时钟树与所占用的GPIO PB10,PB11的时钟树的区别,通过USB2TTL转接板连接到PC上即可。

其中核心板上的PB10(USART3_TX) 连接到 USB2TTL小板上的RXD;核心板上的PB11(USART3_RX) 连接到 USB2TTL小板上的TXD

本实验实现的功能与效果:

  1. USB 自定义HID通信-发送,USBD_USR_Init函数(usbd_usr.c文件)中配置了SysTick中断,每隔一定时间自动发送报文(累加计数器的值)给Host;
  2. USB 自定义HID通信-接收,USBD_HID_DataOut函数(USBD_HID_cb回调函数,usbd_hid_core.c文件)中读取收到的值,并根据值设置LED1灯的亮/灭;
  3. 串口通信,main()函数中自动发送i的值回上位机,实现了打印调试信息。

最新文章

  1. BZOJ 1227 【SDOI2009】 虔诚的墓主人
  2. 【随笔】MQTT简介
  3. python基础知识---正则
  4. Mysql跨表更新 多表update sql语句总结
  5. 隐藏,显示任务栏,桌面 C++代码
  6. WPF多窗口传参解决方案
  7. Oracle Analyze 命令 详解
  8. 关于javascript document.createDocumentFragment() 替代insertCell、insertRow这种每次都使用大量的资源导致浏览器崩溃
  9. Java 网络编程(五) 使用TCP/IP的套接字(Socket)进行通信
  10. Xcode崩溃问题调试 signal SIGABRT&EXC_BAD_ACCESS
  11. 【学习】js学习笔记:内置顶层函数eval()的兼容用法
  12. 源码讲解 node+mongodb 建站攻略(一期)第二节
  13. WindowsService(Windows服务)开发步骤
  14. entity framework core 生成 postgresql 数据库实体
  15. sql2008升级到r2提示:检查当前是否正确配置了报表服务器、数据库服务器是否正在运行以及您是否有权访问
  16. HTML5 Canvas 小例子 简易画板
  17. PHP 操作Mongodb 实例
  18. TensorFlow函数(十)tf.global_variables_initializer()
  19. Struts2 的ActionContext 详解
  20. Beta阶段——第二篇 Scrum 冲刺博客

热门文章

  1. 格兰杰因果 Granger causality
  2. TDD之断言验证System.out.print输出
  3. 【vue-router的基础】history了解一下
  4. 解决ios横屏拍照图片自动旋转90度问题
  5. json 转xml
  6. ASP.NET MVC 生成EML文件
  7. 【HDU6667】Roundgod and Milk Tea【贪心】
  8. sh_07_火车站安检
  9. css使用2
  10. windows 全局安装 express 但无法命令行执行