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.

[参考译文] RTOS/MSP430F5529:在打开 USCI_B1_SPI 并执行 SPI_TRANSIT()之后、USB 无法与 PC 通信!

Guru**** 2582405 points
Other Parts Discussed in Thread: MSP430F5529

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/610554/rtos-msp430f5529-usb-failed-to-communicate-with-pc-after-opening-usci_b1_spi-and-executing-spi_transfer

器件型号:MSP430F5529
主题中讨论的其他器件: MSP-EXP430F5529

工具/软件:TI-RTOS

大家好、

我正在使用我的板(MCU 是 MSP430F5529)通过 USB 读取闪存数据。 此闪存由 USCI_B1_SPI 与 MSP430F5529进行通信。

首先、我确定只有 FLASH_task 时才可以运行闪存、只有 USB_task 时、通过 USB 可以与 PC 通信。 但是、启用这两个任务后、我无法在 PC 的设备管理器中找到 USB 设备。

其次、我在 器件文件(*。h 和*。c)中配置了 SPI 和 USB。

为什么?

以下*。zip 是我的代码。

e2e.ti.com/.../usbserialdevice_5F00_MSP_5F00_EXP430F5529lP.zip

警告:4MHz XT2已更改为24MHz。

此致、

Gilbert

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

    您好、Gilbert、

    我将您的代码切换回使用4MHz XT2、因此我可以在 MSP430F5529 LaunchPad (MSP-EXP430F5529)上对其进行测试。  当闪存任务未设置时、器件会与 PC 正确枚举。

    当闪存任务被设置时、我看到代码被捕获在硬件中断50 while 循环中:

    硬件中断50是该器件的 DMA 中断。 当一个器件像这样被捕获时、它通常意味着中断正在触发、但在您的代码中没有正确定义。 您能否再次检查您是否正在使用 DMA 且所有内容均已正确初始化?

    此致、  
    Caleb Overbay

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

    您是否能够解决此问题?

    此致、
    Caleb Overbay
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Caleb、
    感谢你的答复。 根据您的建议、我发现我的 DMA 通道0被 USB 和 SPI 重复使用。
    此致、
    Gilbert