彼端点 1 非此端点 1。
新唐的 EPx,只是硬件的寄存器数组,你认为的 EP1,只是数组中的 1 号(第 2 个)寄存器而已,而并不是 USB 规范中的端点号。
实际的端点号,是在寄存器中设置的,你看你写的:
- USBD_CONFIG_EP(EP0, USBD_CFG_CSTALL | USBD_CFG_EPMODE_IN | 0);
- USBD_CONFIG_EP(EP1, USBD_CFG_CSTALL | USBD_CFG_EPMODE_OUT | 0);
最后的那个 0,就是设置的端点号。
新唐 USB 外设模块的 EP 寄存器数组,每个 EP 是单向的,要使用双向的端点,就需要两个 EP 寄存器联合,一个设置为 OUT,一个设置为 IN。
|