CMSIS-Driver  
Peripheral Interface for Middleware and Application Code
 
Loading...
Searching...
No Matches
Driver_I2C.h File Reference

Data Structures

struct  ARM_I2C_STATUS
 I2C Status. More...
 
struct  ARM_I2C_CAPABILITIES
 I2C Driver Capabilities. More...
 
struct  ARM_DRIVER_I2C
 Access structure of the I2C Driver. More...
 

Macros

#define ARM_I2C_API_VERSION   ARM_DRIVER_VERSION_MAJOR_MINOR(2,4) /* API version */
 
#define _ARM_Driver_I2C_(n)   Driver_I2C##n
 
#define ARM_Driver_I2C_(n)   _ARM_Driver_I2C_(n)
 
#define ARM_I2C_OWN_ADDRESS   (0x01UL)
 Set Own Slave Address; arg = address.
 
#define ARM_I2C_BUS_SPEED   (0x02UL)
 Set Bus Speed; arg = speed.
 
#define ARM_I2C_BUS_CLEAR   (0x03UL)
 Execute Bus clear: send nine clock pulses.
 
#define ARM_I2C_ABORT_TRANSFER   (0x04UL)
 Abort Master/Slave Transmit/Receive.
 
#define ARM_I2C_BUS_SPEED_STANDARD   (0x01UL)
 Standard Speed (100kHz)
 
#define ARM_I2C_BUS_SPEED_FAST   (0x02UL)
 Fast Speed (400kHz)
 
#define ARM_I2C_BUS_SPEED_FAST_PLUS   (0x03UL)
 Fast+ Speed ( 1MHz)
 
#define ARM_I2C_BUS_SPEED_HIGH   (0x04UL)
 High Speed (3.4MHz)
 
#define ARM_I2C_ADDRESS_10BIT   (0x0400UL)
 10-bit address flag
 
#define ARM_I2C_ADDRESS_GC   (0x8000UL)
 General Call flag.
 
#define ARM_I2C_EVENT_TRANSFER_DONE   (1UL << 0)
 Master/Slave Transmit/Receive finished.
 
#define ARM_I2C_EVENT_TRANSFER_INCOMPLETE   (1UL << 1)
 Master/Slave Transmit/Receive incomplete transfer.
 
#define ARM_I2C_EVENT_SLAVE_TRANSMIT   (1UL << 2)
 Addressed as Slave Transmitter but transmit operation is not set.
 
#define ARM_I2C_EVENT_SLAVE_RECEIVE   (1UL << 3)
 Addressed as Slave Receiver but receive operation is not set.
 
#define ARM_I2C_EVENT_ADDRESS_NACK   (1UL << 4)
 Address not acknowledged from Slave.
 
#define ARM_I2C_EVENT_GENERAL_CALL   (1UL << 5)
 Slave addressed with general call address.
 
#define ARM_I2C_EVENT_ARBITRATION_LOST   (1UL << 6)
 Master lost arbitration.
 
#define ARM_I2C_EVENT_BUS_ERROR   (1UL << 7)
 Bus error detected (START/STOP at illegal position)
 
#define ARM_I2C_EVENT_BUS_CLEAR   (1UL << 8)
 Bus clear finished.
 

Typedefs

typedef void(* ARM_I2C_SignalEvent_t) (uint32_t event)
 Pointer to ARM_I2C_SignalEvent : Signal I2C Event.
 

Macro Definition Documentation

◆ ARM_I2C_API_VERSION

#define ARM_I2C_API_VERSION   ARM_DRIVER_VERSION_MAJOR_MINOR(2,4) /* API version */

◆ _ARM_Driver_I2C_

#define _ARM_Driver_I2C_ (   n)    Driver_I2C##n

◆ ARM_Driver_I2C_

#define ARM_Driver_I2C_ (   n)    _ARM_Driver_I2C_(n)