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.

I2C doesn't generate a start condition

Other Parts Discussed in Thread: LAUNCHXL-F28027F, CONTROLSUITE, MOTORWARE

Hello, I;m currently having some problems when dealing with my LAUNCHXL-F28027F.

Since that I found the controlSuite drivers for I2C model is incomplete, I have to write the codes with structs which i'm not familiar with. 

The issue is that when i'm trying to generate a start condition with I2caRegs.I2CMDR.all = 0x6E20, i cannot observe a clear of STT bit, which according to I2C referenct guide should be automatically cleared after a start condition has been generated. Therefore I think the start condition was not generated at all, thus the STP bit can never be cleared and my program just get stuck.

Also i observed no clock signal from GPIO33, which was assigned to be of SCLA function, so i guess that the problem might be with my clock setup.

As for that, I didn't call sysctrl() due to that the other part of my codes is written with drivers. Instead i used CLK_enableI2cClock(myClk) when initializing the i2c.

I really appreciate it if anyone can give me some hint.

  • Hello Mark Zhu,

    Are writing your code in Motorware template or ControlSuite template?

    Best regards,

    Maria

  • Hello Maria,

    Thanks a lot for your response. 

    I was writing in ControlSuite template, using the structs.

    Problem solved. What i did was just building a new project and part-by-part filling in my codes. Part of the reason may be that the module i was communicating with wasn't updating data unless i read everything out.

    However i'm still not clear with the start condition generation things. Luckily it's working perfectly anyway:)

    Regards,

    Mark