diff options
| author | xiaowine <[email protected]> | 2026-08-12 18:35:59 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2026-08-12 18:50:04 +0800 |
| commit | 639a4760f7e1222a41cca5a7f296f681e0d258ff (patch) | |
| tree | ed0ec20c393791407fbfdd9d6ee0c1c7a914e6a9 /docs/source/quick_start/rt-thread | |
| parent | a6adc3b1fec70f7bc84a17d7db6ee04dd059d1f1 (diff) | |
fix(ch32fs): SETUP 中断固定 NAK EP0,支持 CH32L103
CH32FS IP 的 SETUP 中断触发时,INT_ST 端点字段不总为 0(在 CH32L103 和
CH32V203 上实测约 50% 为 4,来自上一次批量事务的残留)。原代码
USB_SET_RX_CTRL(ep_idx, NAK) 会写错 UEP{ep_idx} 寄存器,导致 EP0
停留在 ACK 状态,Windows 存储栈挂载设备前会卡约 20 秒。
(可能影响所有使用 CH32FS IP 的 MCU,但仅在 CH32L103/CH32V203 上验证)
改为固定 NAK EP0(索引 0),并同时 NAK TX 和 RX。其中 TX NAK 一行对
CH32L103 是必需的,缺少会导致设备枚举失败(Windows 设备管理器 Code 10);
WCH CH32FS IP 的 MCU 官方 EVM 代码也都是同时两行 NAK,且官方 SETUP
处理代码同样固定使用 EP0(索引 0)。
同时在支持列表中加入 CH32L103(使用 USBFS)。CH32V20X 有两个 USB IP:
USBD(用 fsdev,与 F103 相同)和 USBFS(用 ch32fs),已在
port/ch32/README.md 中说明。
Diffstat (limited to 'docs/source/quick_start/rt-thread')
0 files changed, 0 insertions, 0 deletions
