STM32U3C5 nucleo板卡除了自带一路CAN,还自带一路USB 2.0 Full-speed controller。如图1 Datasheet中说明所示:& u- ]+ s+ q/ N+ l
图1 0 y, w- \- O- x: Z5 G 从CubeMx 开始配置,其中最主要时钟要配置为48Mbps,如图2所示:
图2: H, e" Y- A0 ~. M/ D! C m$ b8 ?) T3 I; F& s Z% g 外设USB配置如图3所示:
图3! n1 [2 \, i: h4 f* b' L6 D 参数当前默认即可。 4 P+ L7 C5 S/ r+ d 然后生成项目。你会发现生成的项目缺少一些文件,比如关键的描述符文件。以前调试USB通讯,配置一下外设,修改部分描述符文件参数,就能实现HID正常通信。很久不处理USB通讯接口了,感觉生成的文件得重新按照协议熟悉。 & V, M o, u9 Z- t: D$ r: o7 E 4 u# |( N4 [4 W* `% M. k0 P4 ]9 ~! e 找找官方的例程,官方当前应该主推USBx,所以很多描述符的配置应该在USBx 这部分。最下面找到USBx, 可以配置如图4所示:
图4 6 a" v8 D D) d6 f( d: h# B Q 当前实现裸机HID双向通信就达到当前的测试要求了,不要求使用threadx。2 z5 l! d3 I' W$ Q7 y/ [ 9 t# y3 _( D8 B; t) B4 z 配置好以后,在vscode 中打开。主实现函数如下:
测试通过上位机发送64字节数据,MCU收到数据后再返回上位机。最终测试结果如图5所示:
图5 * w5 |3 \( r. ]8 k 测试结果达到了HID 双向通讯测试要求。既然官方主推USBx,复杂任务还需要使用threadx,官方有demo, 可以继续学习。 $ y! ~; a& r2 k) P: ~; p |
【stm32U3测评】内置OPAMP性能测试(一)
【stm32U3测评】使用FDCAN进行IAP升级-- FDCAN升级思路以及上位机发送
【STM32U3评测】CANFD Bootloader(1)
STM32U3B5/U3C5:为超低功耗设计带来高性能 DSP 与边缘 AI
【STM32U3评测】使用INS5699 RTC模组
【评测汇总】STM32U3 系列开发板评测全汇总 | 吃透新品核心性能与实战场景
【stm32U3测评】FDCAN 满载性能实测
【STM32U3 评测】CAN FD测试与UDS OTA升级
【STM32U3 评测】基于 CAN 的 UDS OTA 不完全实现指南
【STM32U3评测】轻量级人脸检测部署。
微信公众号
手机版