MSPM0G1107: MSPM0G1107 Uart2 115200 RX Interrupt Receive none

Part Number: MSPM0G1107
Other Parts Discussed in Thread: LP-MSPM0G3507

Tool/software:

We used MSPM0G1107 PB16 pin as Uart2 RX, but we can't receive correct data. We always receive 0x00.

The code is created by CCS Tool, and we use a logic analyzer to confirm receipt of data(baud rate: 115200);
Below are our configuration. Please help confirm if there are any configuration errors in the configuration instructions.

    

    

  • Hi Afly,

    When loopback mode is enabled, the IO pins cannot be used to observe communication. The following is an excerpt from the TRM illustrating UART operation with loopback.

    Best Regards,
    Brian

  • We change SYSCFG_DL_UART_2_init function as below( remove loopback mode ), but we still can not receive correct data from UART_2_INST_IRQHandler.

    Below is the new code of SYSCFG_DL_UART_2_init:

  • Please create a new source code for Uart2 with 115200 bardrate based on our system clock configuration.

    Requirement: Uart2 interrupt can receive correct data.

  • HI Afly,

    I've modified the external loopback example for the LP-MSPM0G3507 to use the MSPM0G1107 image. I believe it meets your clock requirements; the baud rate is 115200, and I was able to update a variable with the received message within the interrupt handler. For set up, you will need to short the TX and RX pins, and you may need to reconfigure the pins used to fit your device configuration.

    uart_external_loopback_interrupt_MSPM0G1107_nortos_ticlang.zip

    Best Regards,
    Brian

  • We used the code you provided, short the TX and RX pins and print the data from RX, it's correct.

    But if we connect the MCU Uart2 RX port to another board's Uart TX port with baud rate 115200, we still can't receive correct data.

    We measured the waveform of MCU Uart2 RX by using an oscilloscope and confirmed that the data from another board's uart port is correct (voltage&Bard Rate=8.6us).

      

      

       

  • Hi Afly,

    Would you be able to share a pin diagram of the two devices? If you're able to send the correct data from one MCU and confirmed the external loopback on the other is working, this issue is likely from the hardware set up. Can you make sure the two boards are also sharing the same ground?

    Best Regards,
    Brian

  • We confirm that these two motherboards share the same ground.
    We are currently working on OTA functionality. The Uart2 is configured with a baud rate of 115200 in order for the MCU to receive data from the LANBoard, which is used to flash data to the MCU's App Flash section (we partition the MCU into BootLoader and App sections, and OTA is the process of updating the App section's data).
    We confirm that the App section can correctly receive data from LANBoard, but the BootLoader section can not implemente so.
    We tried to move all the configurations in the App section to the BootLoader section, but Uart2 still cannot receive LANBoard data correctly.