Delay Stop Flag in I2C_LDD

cancel
Showing results for 
Search instead for 
Did you mean: 

Delay Stop Flag in I2C_LDD

246 Views
burgeh
Contributor IV

Greetings!

So I am trying to use I2C to communicate with a temperature sensor. This sensor has a bit different of an I2C protocol. I need to initially wake the sensor, and in order to do so I need to follow the diagram below. As you can see there is a 800us to 3ms wait time before the stop flag. I am wondering if there is a way I can add this to the I2C_LDD component? I am currently trying to modify the functions themselves such as MasterSendBlock. However, my issue here is that it sends all the data in one shot. I wrote in a delay, and tried to just send one single clock and data, but it always sends 8 bits of data.

Thanks!

pastedImage_1.png

Labels (1)
0 Kudos
3 Replies

101 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Christopher, 

I don't think it is possible to use the I2C_LDD component to send the data with that format, I believe the best option is to implement it using the SDA and SCL pins as GPIOS and after sending the wake up change them to I2C functionality.


Hope it helps!

Best Regards,
Carlos Mendoza
Technical Support Engineer

0 Kudos

101 Views
burgeh
Contributor IV

I ended up getting by using a different 2 GPIO, do you have a good reference on how I can use the same pins? To clarify: Mux the I2C and GPIO and be able to switch between the two.

0 Kudos

101 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Christopher, 

 

 You can use the "Pin Sharing" functionality to be able to use the same pins as GPIOs and I2C, please se the following post created by a colleague for more information, you can see this on the "Pin with Pin Sharing" section:

Tutorial: Bits and Pins with Kinetis and the FRDM-KL25Z Board | MCU on Eclipse 


Hope it helps!

 

Best Regards,
Carlos Mendoza
Technical Support Engineer

0 Kudos