Kinetis I2C keeps losing arbitration

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Kinetis I2C keeps losing arbitration

5,684 Views
galadragos
Contributor III

The I2C module in the kinetis series is the most stubborn i2c module I have ever worked with!

No matter the speed settings it keeps losing arbitration (WTF?).

There are no other masters on the bus, so there should not be an arbitration problem.

I need a working example using i2c interrupts to transfer data, all examples I have seen are polled.

The MCU is KL25Z from the freedom board and there should be no repeated start issue as the MULT bits are set to 0b00.

All development is done bare metal style, without PE.

0 Kudos
23 Replies

194 Views
galadragos
Contributor III

Thanks for the pointers, but that utasker project is closed source from what I could tell.

Got the code working last night, had to rearrange some of the action I was given to the module. It now works.

0 Kudos

194 Views
jrychter
Contributor V

Perhaps you could explain what you rearranged and how you made the code work, so that we can all learn?

0 Kudos

194 Views
galadragos
Contributor III

If I remember correctly it was the way I handler reading from the I2C module, you can't just read the info apparently, as it screws up the logic.

There is a logic chart diagram in the user manual for each kinetis MCU with i2c. After reading the i2c module as indicated in that chart, everything works with no hangs or other problems.

0 Kudos