iLLD_TC27xC  1.0
IfxI2c.h File Reference

I2C basic functionality. More...

Go to the source code of this file.

Data Structures

struct  IfxI2c_Pins
 Pin Structure. More...
 

Enumerations

enum  IfxI2c_BusStatus {
  IfxI2c_BusStatus_idle = 0,
  IfxI2c_BusStatus_started = 1,
  IfxI2c_BusStatus_busyMaster = 2,
  IfxI2c_BusStatus_remoteSlave = 3
}
 
enum  IfxI2c_PinSelect {
  IfxI2c_PinSelect_a = 0,
  IfxI2c_PinSelect_b = 1,
  IfxI2c_PinSelect_c = 2,
  IfxI2c_PinSelect_d = 3,
  IfxI2c_PinSelect_e = 4,
  IfxI2c_PinSelect_f = 5,
  IfxI2c_PinSelect_g = 6,
  IfxI2c_PinSelect_h = 7
}
 

Functions

IFX_INLINE boolean IfxI2c_arbitrationLostFlag (Ifx_I2C *i2c)
 returns the Arbitration Lost Flag More...
 
IFX_INLINE boolean IfxI2c_busIsFree (Ifx_I2C *i2c)
 Returns if the bus is free. More...
 
IFX_INLINE void IfxI2c_clearArbitrationLostFlag (Ifx_I2C *i2c)
 Clears the Arbitration Lost Flag. More...
 
IFX_INLINE void IfxI2c_clearErrorInterrupts (Ifx_I2C *i2c)
 
IFX_INLINE void IfxI2c_clearFifoRequests (Ifx_I2C *i2c)
 
IFX_INLINE void IfxI2c_clearProtocolInterrupts (Ifx_I2C *i2c)
 Clears the Protocol Interrupt Flags. More...
 
IFX_INLINE void IfxI2c_clearReceivedNakFlag (Ifx_I2C *i2c)
 Clears the NAK Flag. More...
 
IFX_INLINE void IfxI2c_clearTxEndInterrupt (Ifx_I2C *i2c)
 
IFX_INLINE IfxI2c_BusStatus IfxI2c_getBusStatus (Ifx_I2C *i2c)
 
IFX_INLINE boolean IfxI2c_isFifoRequest (Ifx_I2C *i2c)
 Returns if the Fifo is requesting new data. More...
 
IFX_INLINE boolean IfxI2c_isTxEndInterrupt (Ifx_I2C *i2c)
 
IFX_INLINE boolean IfxI2c_receivedNakFlag (Ifx_I2C *i2c)
 returns the NAK Flag More...
 
IFX_INLINE void IfxI2c_run (Ifx_I2C *i2c)
 
IFX_INLINE void IfxI2c_setPinSelection (Ifx_I2C *i2c, IfxI2c_PinSelect pisel)
 
IFX_INLINE void IfxI2c_setReceivePacketSize (Ifx_I2C *i2c, Ifx_SizeT size)
 Sets the number of bytes to be received. More...
 
IFX_INLINE void IfxI2c_setSlaveDeviceAddress (Ifx_I2C *i2c, uint16 address)
 
IFX_INLINE void IfxI2c_setTransmitPacketSize (Ifx_I2C *i2c, Ifx_SizeT size)
 Sets the number of bytes to be tansmitted. More...
 
IFX_INLINE void IfxI2c_stop (Ifx_I2C *i2c)
 
IFX_INLINE void IfxI2c_waitBusFree (Ifx_I2C *i2c)
 
IFX_INLINE void IfxI2c_writeFifo (Ifx_I2C *i2c, uint32 packet)
 Writes a packet (4 bytes) into the Fifo. More...
 
IFX_EXTERN void IfxI2c_configureAsMaster (Ifx_I2C *i2c)
 Configures the Module as Master. More...
 
IFX_EXTERN void IfxI2c_disableModule (Ifx_I2C *i2c)
 Disables the I2c Module. More...
 
IFX_EXTERN void IfxI2c_enableModule (Ifx_I2C *i2c)
 Enables the I2c Module. More...
 
IFX_EXTERN float32 IfxI2c_getBaudrate (Ifx_I2C *i2c)
 Returns the real Baudrate. More...
 
IFX_EXTERN void IfxI2c_initSclSdaPin (const IfxI2c_Scl_InOut *scl, const IfxI2c_Sda_InOut *sda, IfxPort_PadDriver padDriver)
 
IFX_EXTERN void IfxI2c_releaseBus (Ifx_I2C *i2c)
 Releases the bus, i.e puts a stop condition on the bus. More...
 
IFX_EXTERN void IfxI2c_resetFifo (Ifx_I2C *i2c)
 
IFX_EXTERN void IfxI2c_setBaudrate (Ifx_I2C *i2c, float32 baudrate)
 Calculates the desired baudrate. More...
 

Detailed Description

I2C basic functionality.

Version
iLLD_0_1_0_10
                            IMPORTANT NOTICE

Infineon Technologies AG (Infineon) is supplying this file for use exclusively with Infineon's microcontroller products. This file can be freely distributed within development tools that are supporting such microcontroller products.

THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.

Definition in file IfxI2c.h.