Burn the program of S32k324 into the board of S32k344, initialize I2C, set MCR ->MEN to 1, the data read by MSR ->BBF is 1, and the I2C bus is busy. What is this asking
HI @bubububu,
If either SCL or SDA are low, the I2C bus is no longer considered idle.
Do you use pull-up resistors at the SCL, SDA lines?
Can you monitor the bus with an oscilloscope?
Thank you,
BR, Daniel
after initialize I2C,Logic analyzer measurement SCL and SDA are high,
SCL uses PTC7 pin
SDA uses PTC6 pin
SCL, SDA lines have pull-up resistors
Are the ports correctly muxed to the LPI2C1 module in MSCRx?
It is configured according to the diagram above
Please check the MSCR registers in the register view.
Do you use SDK / RTD or your own code?
Can you share the project or the function you use the initialize the module?
Double-check the clock configuration, it should be set precisely to one of the clock options listed in the RM, e.g. Option A, Table 151. Option A - High Performance mode (CORE_CLK @ 160 MHz).
Regards,
Daniel
Please check the MSCR registers in the register view.
->After the initialization of i2c, MS/CR register state,MSR->BBF bit is 1
Do you use SDK / RTD or your own code?
->Downloaded online through s32ds.exe application
Can you share the project or the function you use the initialize the module?
->Initialize i2c using Lpi2 c_IpMasterInit (1,&I2c_Lpi2 cMasterChannel1)function
The i2c clock configuration is as follows
Hi @bubububu,
I mean the MSCR registers of the two ports in the SIUL2 module.
SIUL_MSCR70 and SIUL_MSCR71.
What RTD version is it? You can find in at the top of any RTD cource file.
It would be better if you could share the project here or via a support ticket.
Regards,
Daniel