This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430F5510:新添加的接口上的 USB 接口'端点中的接口不触发上的 USB ISR(使用 TI 的 USB 堆栈)

Guru**** 2812305 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1586992/msp430f5510-usb-interface-s-in-endpoint-on-newly-added-interface-not-triggering-usb-isr-on-using-tis-usb-stack

部件号: MSP430F5510

我有固件可供 Im 添加特性、原始版本使用 TI 的 WYSIWYG 工具创建各种 USB 接口和描述符(它是一种复合器件)。   

与其再次使用该工具,我修改了它创建的各种文件,以添加第 5 个 USB 接口,这是表面上成功的,因为新固件正确枚举与主机,这可以正确识别新添加的接口。   

如果我将 USB 数据包发送到端点中已有的旧接口、则会触发 iUsbInterruptHandler ()。  

如果我将有效的 USB 数据包发送到端点 iUsbInterruptHandler() 中的最新接口、则不会发生。  因此、从主机发送的第三个有效 USB 数据包会导致 MSP430 USB 外设到 Tx NAK、大概是因为 X 和 Y 缓冲区仍然被前两个数据包占用。  

Im 知道各种端点都有中断使能、但 CCS 的调试器不会让我“监视“它们、因此我假设这些被禁用。   

如何为新添加的接口 EPS 启用中断、从而调用 iUsbInterruptHandler ()?

谢谢

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    更新 — 我已重新检查“USBIEPCNF_5"寄存“寄存器、并设置 USBIIE 位、以便在启用后即使未调用 ISR、仍然显示该位。   BTW 在该接口上接收到的前两个数据包上、切换位似乎发生了变化。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题。  我需要将 BIT5 添加到以下定义中:

    #define USB_OUTEP_INT_EN BIT0 | BIT1 | BIT2 | BIT3 | BIT4 | BIT5
    #define USB_INEP_INT_EN BIT0 | BIT1 | BIT2 | BIT3 | BIT4 | BIT5