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.

MSPM0L2228: I2CTarget_Event_STOP doesn't seem to trigger

Part Number: MSPM0L2228

Tool/software:

Hi team,

Hi team,

My customer is using MSPM0L2228. They did some tests as below and find out the I2CTarget_Event_STOP doesn't seem to be triggered. Please help clarify if this scenario is normal. Thank you.

Test environment:

  • HW : LP-MSPM0L2228
  • SDK version: mspm0_sdk_2_02_00_05
  • CCS Theia version: 1.5.0.11
  • SW Example: 
    • i2c_controller_LP_MSPM0L2228_freertos_ticlang
    • i2c_target_LP_MSPM0L2228_freertos_ticlang

On the target side, the event I2CTarget_Event_STOP doesn't seem to trigger, verified using print statements.

Does the example never enter the I2CTarget_Event_STOP state, or are there specific conditions that need to be met? Thanks.

  • Hi,

    I think it is because I2C is not configured correctly.

    I will check this assumptions and debug it tomorrow. Can you help double check through looking register of I2C?

    Regards,

    Zoey

  • Hi Zoey,

    Which registers need to be provided, and where should the current interrupt be set?

    Best regards,

    Eason Tsai

  • Hi Eason,

    I have debugged it. The reason is due to the underlying code of the software. Here we will read the MIS of I2C register and multiply with 0xFFFF. If the stop bit is detected, it will enter if function you attached.

    But according to User guide, the stop bit status lies in the former 16bit, so it should multiply with 0xFFFF0000 not 0xFFFF.

    I will report this issue with our software team, thanks for pointing out.

    Regards,

    Zoey