| Entry | |
|---|---|
| R0 | Pointer to list of iic_transfer structures |
| R1 | Bits 0-23: Number of iic_transfer structures |
| Bits 24-31: IIC bus number |
| Exit | |
|---|---|
| - | All registers preserved |
| - | Transfer list updated, if applicable |
The purpose of this call is to allow software to perform transfers on the IIC buses that are present in the system. See the iic_transfer documentation for details on the transfer list format and behaviour.
To determine how many IIC buses are present on the system, use OS_Hardware to call the HAL_IICBuses HAL call.
OS_IICOp is re-entrant. Transfers are queued on a per-bus basis. Thus if OS_IICOp is re-entered then it will first wait for all pending transfers on the requested bus to complete before starting the set of transfers requested by the new call.
OS_IICOp will enable interrupts for the duration of the transfer.
This SWI is an improved, more powerful version of the older IIC_Control? SWI.