Hi, I'm fairly new to using I2C in general and have a basic understanding of the concept by reading the PICAXE I2C manual, the sections in the BASIC commands manual, as well as some Youtube videos, but in practice, I'm still struggling with implementation.
I'm using a PICAXE 14M2 and an L3GD20H Breakout board from Adafruit (Datasheet link https://www.st.com/resource/en/datasheet/l3gd20h.pdf)
In the I2C operation section of the manual, there is a required protocol that is mentioned that must be adhered to for this part, such as starting communication with a "Start Signal" and how the Master must send a "Data transfer acknowledge" pulse every time a byte of data is received, etc. among other requirements.
My question is this: Are these rigid and very specific protocols and order something that I must specify in my code via multiple hi2c commands and logic, or is this something that is covered "under the hood" so to speak by either the PICAXE itself or the way that the hi2c commands are compiled.
The reason I ask is that I have previously used the ADXL343 Accelerometer breakout board from Adafruit using I2C and only had to communicate using the basic hi2csetup and hi2c in and out to specific registers; there was no extra "song and dance" to getting data back, no acknowledgment pulses or what have you.
I'm using a PICAXE 14M2 and an L3GD20H Breakout board from Adafruit (Datasheet link https://www.st.com/resource/en/datasheet/l3gd20h.pdf)
In the I2C operation section of the manual, there is a required protocol that is mentioned that must be adhered to for this part, such as starting communication with a "Start Signal" and how the Master must send a "Data transfer acknowledge" pulse every time a byte of data is received, etc. among other requirements.
My question is this: Are these rigid and very specific protocols and order something that I must specify in my code via multiple hi2c commands and logic, or is this something that is covered "under the hood" so to speak by either the PICAXE itself or the way that the hi2c commands are compiled.
The reason I ask is that I have previously used the ADXL343 Accelerometer breakout board from Adafruit using I2C and only had to communicate using the basic hi2csetup and hi2c in and out to specific registers; there was no extra "song and dance" to getting data back, no acknowledgment pulses or what have you.