User manual
368
mikoBasic PRO for dsPIC30/33 and PIC24
MikroElektronika
I2Cx_Is_Idle
I2Cx_Read
Prototype
sub function I2Cx_Is_Idle() as word
Description Waits for the I²C bus to become free. This is a blocking function.
Parameters None.
Returns - 0 if I²C bus is free.
- 1 if I²C bus is not free.
Requires MCU with at least one I²C module.
Used I²C module must be initialized before using this function. See I2Cx_Init routine.
Example
dim data_ as byte
...
if I2C1_Is_Idle() then
I2C1_Write(data_)
end if
...
Notes I²C library routines require you to specify the module you want to use. To select the desired I²C
module, simply change the letter x in the routine prototype for a number from 1 to 3.
Number of I²C modules per MCU differs from chip to chip. Please, read the appropriate datasheet
before utilizing this library.
Prototype
sub function I2Cx_Read(dim ack as word) as byte
Description Reads a byte from the I²C bus.
Parameters - ack: acknowledge signal parameter. If the ack = 0, acknowledge signal will be sent after reading,
otherwise the not acknowledge signal will be sent.
Returns Received data.
Requires MCU with at least one I²C module.
Used I²C module must be initialized before using this function. See I2Cx_Init routine.
Also, START signal needs to be issued in order to use this function. See I2Cx_Start.
Example
dim take as byte
...
‘ Read data and send the not_acknowledge signal
take = I2C1_Read(1)
Notes I²C library routines require you to specify the module you want to use. To select the desired I²C
module, simply change the letter x in the routine prototype for a number from 1 to 3.
Number of I²C modules per MCU differs from chip to chip. Please, read the appropriate datasheet
before utilizing this library.