I want to use a PICAXE chip as the interface between a front panel and a sound recorder chip, the ISD5116, the only problem is that the chip uses I2C which is something I'm not familiar with. Here is an example, how to write to a register:
1. Host executes I 2C START
2. Send Slave Address with R/W bit = “0” (Write)
3. Slave responds back with an ACK.
4. Wait for SCL to go HIGH
5. Host sends a byte to Slave - (Command Byte)
6. Slave responds with an ACK
7. Wait for SCL to go HIGH
8. Host sends a byte to Slave - (High Address Byte)
9. Slave responds with an ACK
10. Wait for SCL to go HIGH
11. Host sends a byte to Slave - (Low Address Byte)
12. Slave responds with an ACK
13. Wait for SCL to go HIGH
14. Host executes I 2C STOP
What concerns me are steps 1,4,7,10 & 13, is this handshaking built in to the PICAXE firmware when using the I2C routines or do I need extra lines in my code to test the status of the I2C lines before sending the next byte?
Regards
Peter DL8OV
1. Host executes I 2C START
2. Send Slave Address with R/W bit = “0” (Write)
3. Slave responds back with an ACK.
4. Wait for SCL to go HIGH
5. Host sends a byte to Slave - (Command Byte)
6. Slave responds with an ACK
7. Wait for SCL to go HIGH
8. Host sends a byte to Slave - (High Address Byte)
9. Slave responds with an ACK
10. Wait for SCL to go HIGH
11. Host sends a byte to Slave - (Low Address Byte)
12. Slave responds with an ACK
13. Wait for SCL to go HIGH
14. Host executes I 2C STOP
What concerns me are steps 1,4,7,10 & 13, is this handshaking built in to the PICAXE firmware when using the I2C routines or do I need extra lines in my code to test the status of the I2C lines before sending the next byte?
Regards
Peter DL8OV