LAT1242
LAT1242 - Rev 1.0 page 2/9
图 2、 USB BULK 传输流程图
原理性的东西,这里不多啰嗦了,网上有成堆的介绍资料,在 STMCU 中文网也有很多 USB 的培训资
料,需要的可以前往搜索下载。当我们弄清整个原理后,就可以编写接收处理代码了。下面是验证过
程。
3、验证测试
下面我利用 HAL 库,基于 STM32F429 芯片演示实现过程,重点在接收处理代码。我使用 STM32F429
Discovery 开发板,使用 HS USB 模块并令其工作在 FS MODE,这样我们就可以方便地使用片内 USB FS
PHY。
我使用 STM32CubeMx 工具进行配置,生成基于 STM32 HAL 库的工程。使用 ST 提供的 STM32CubeIDE
进行编译调试。有关配置就不截图了。
另外,我还配置了 1 个按键并开启相应外部中断。每发生按键事件时,F429 USB 设备向 PC 主机发送一
段打招呼的字符串,并通过串口助手显示出来。
我在 main.c 文件里定义了下面几个变量:
图 3、变量截图
其中,Flag_KeyPressed 和 Flag_DataReceived 分别标示按键操作和收到从主机发过来的数据的情况。
Rx_buffer【】数组用来存放接收来自主机的数据,我这里的定义长度为 512 字节【具体使用时按需设
置】。下图是 Main.c 里的主循环代码截图,见图 4。