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: USB failed to communicate with PC after opening USCI_B1_SPI and executing SPI_transfer()!

Part Number: MSP430F5529

Tool/software: TI-RTOS

Hi all,

I am using my board(MCU is MSP430F5529) to read flash data by USB. This flash is communicated with MSP430F5529 by  USCI_B1_SPI.

First, I am sure that it is OK to operate flash when only flash_task and it is OK to communicate with PC by USB when only USB_task. However, once these two task are enabled, I can't find the USB device in my PC's Device Manager.

Second, I have configured SPI and USB in the device file (*.h and *.c).

Why is it?

The following *.zip is my code.

usbserialdevice_MSP_EXP430F5529lP.zip

warning: The 4MHz XT2 has been changed to 24MHz.

Best Regards,

Gilbert

  • Hi Gilbert,

    I switched your code back to using a 4MHz XT2 so I could test it out on an MSP430F5529 LaunchPad (MSP-EXP430F5529).  When the flash task is not setup, the device enumerates correctly with the PC.

    When the Flash task is setup, I see the code get trapped in hardware interrupt 50 while loop:

    Hardware interrupt 50 is the DMA interrupt for this device. When a device get's trapped like this, it typically means that the interrupt is firing but has not been defined properly in your code. Can you double check if you're using DMA and everything has been initialized correctly?

    Best regards, 
    Caleb Overbay

  • Hi Gilbert,

    Were you able to solve this issue?

    Best regards,
    Caleb Overbay
  • Hi Caleb,
    Thank you for your reply. According to your advice, I found my DMA channel 0 is reused by USB and SPI.
    Best Regards,
    Gilbert

**Attention** This is a public forum