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.

MSPM0G3507: MSPM0G3507

Part Number: MSPM0G3507

Tool/software:

Hi support,

I am facing an issue while reading RXDATA UART0 in MSPM0G3507 controller. Below is my code.

void UART0_DIS_INST_IRQHandler(void)
{  
    uint8_t byteReceived = 0x00     ;    
    switch (DL_UART_Main_getPendingInterrupt(UART0_DIS_INST))
    {    
        case DL_UART_MAIN_IIDX_EOT_DONE:
            usart0_all_data_transmitted = true;      // All data is transmitted
            break;                    
        case DL_UART_MAIN_IIDX_TX:
            usart0_data_transmitted = true; // Fist phase transmiited            
            break;
        case DL_UART_MAIN_IIDX_RX:
            usart0ReceiveInProgress = true       ;
            while(!(DL_UART_isRXFIFOEmpty(UART0_DIS_INST))) // check if any byte in available to read
            {
                DL_GPIO_toggletPins(GPIOA_PORT, GPIOA_BYPASS_ON_LED_PIN )     ;  //
                usart0_rxData[usart0_rxCounter] = DL_UART_receiveData(UART0_DIS_INST)          ;
                if(usart0_rxData[0] == 0x01)
                {
                    DL_GPIO_setPins(GPIOA_PORT, GPIOA_FAULT_LED_PIN )     ;  // Enable max 485 for transmission
                }
                usart0_rxCounter++              ;
            }
            break;                              
        default:        
            break;    
    }

In interrupt, i am reading the receiving data after checking FIFO status. I am not getting the actual received data. My receive FIFO interrupt is enable >= 2 levelGPIOA_BYPASS_ON_LED_PIN toggle on every byte try to read.

But  GPIO_FAULT_LED_PIN never set. The receiving data have first byte is 0x01.

I believe that  " DL_UART_receiveData(UART0_DIS_INST)          ;" have some issue. Ant suggestion is welcome.

Best Regards

Tulsi Das