Microchip® Advanced Software Framework

thirdparty/atmel_rf4ce/examples/atmega128rfa1_avr477_target/twi_master.h File Reference

Data Structures

union  TWI_statusReg
 

Macros

#define BAUDRATE   100000
 
#define CPU_SPEED   16000000
 CPU speed 2MHz, BAUDRATE 100kHz and Baudrate Register Settings. More...
 
#define FALSE   0
 
#define TRUE   1
 
#define TWI_ADR_BITS   1
 
#define TWI_ARB_LOST   0x38
 
#define TWI_BAUD(F_SYS, F_TWI)   (((F_SYS / F_TWI )-16)/ 2)
 
#define TWI_BAUDSETTING   TWI_BAUD(CPU_SPEED, BAUDRATE)
 
#define TWI_BUFFER_SIZE   275
 
#define TWI_BUS_ERROR   0x00
 
#define TWI_GEN_CALL   0x00
 
#define TWI_MRX_ADR_ACK   0x40
 
#define TWI_MRX_ADR_NACK   0x48
 
#define TWI_MRX_DATA_ACK   0x50
 
#define TWI_MRX_DATA_NACK   0x58
 
#define TWI_MTX_ADR_ACK   0x18
 
#define TWI_MTX_ADR_NACK   0x20
 
#define TWI_MTX_DATA_ACK   0x28
 
#define TWI_MTX_DATA_NACK   0x30
 
#define TWI_NO_STATE   0xF8
 
#define TWI_READ_BIT   0
 
#define TWI_REP_START   0x10
 
#define TWI_SRX_ADR_ACK   0x60
 
#define TWI_SRX_ADR_ACK_M_ARB_LOST   0x68
 
#define TWI_SRX_ADR_DATA_ACK   0x80
 
#define TWI_SRX_ADR_DATA_NACK   0x88
 
#define TWI_SRX_GEN_ACK   0x70
 
#define TWI_SRX_GEN_ACK_M_ARB_LOST   0x78
 
#define TWI_SRX_GEN_DATA_ACK   0x90
 
#define TWI_SRX_GEN_DATA_NACK   0x98
 
#define TWI_SRX_STOP_RESTART   0xA0
 
#define TWI_START   0x08
 
#define TWI_STX_ADR_ACK   0xA8
 
#define TWI_STX_ADR_ACK_M_ARB_LOST   0xB0
 
#define TWI_STX_DATA_ACK   0xB8
 
#define TWI_STX_DATA_ACK_LAST_BYTE   0xC8
 
#define TWI_STX_DATA_NACK   0xC0
 
#define TWISLAVE_ADDR   0x10
 

Functions

void twi_master_init (void)
 Call this function to set up the TWI master to its initial standby state. More...
 
void twi_retrieve_message (void)
 To Receive data over TWI. More...
 
void twi_send_message (void)
 To Transmit data over TWI. More...
 
unsigned char twi_transceiver_busy (void)
 Call this function to test if the TWI_ISR is busy transmitting. More...
 

Variables

union TWI_statusReg TWI_statusReg
 

#define BAUDRATE   100000
#define CPU_SPEED   16000000

CPU speed 2MHz, BAUDRATE 100kHz and Baudrate Register Settings.

#define FALSE   0
#define TRUE   1
#define TWI_ADR_BITS   1
#define TWI_ARB_LOST   0x38

Referenced by switch().

#define TWI_BAUD (   F_SYS,
  F_TWI 
)    (((F_SYS / F_TWI )-16)/ 2)

Baud register setting calculation. Formula described in datasheet.

#define TWI_BAUDSETTING   TWI_BAUD(CPU_SPEED, BAUDRATE)

Referenced by twi_master_init().

#define TWI_BUFFER_SIZE   275
#define TWI_BUS_ERROR   0x00

Referenced by switch().

#define TWI_GEN_CALL   0x00
#define TWI_MRX_ADR_ACK   0x40

Referenced by switch().

#define TWI_MRX_ADR_NACK   0x48

Referenced by switch().

#define TWI_MRX_DATA_ACK   0x50

Referenced by switch().

#define TWI_MRX_DATA_NACK   0x58

Referenced by switch().

#define TWI_MTX_ADR_ACK   0x18

Referenced by switch().

#define TWI_MTX_ADR_NACK   0x20

Referenced by switch().

#define TWI_MTX_DATA_ACK   0x28

Referenced by switch().

#define TWI_MTX_DATA_NACK   0x30

Referenced by switch().

#define TWI_NO_STATE   0xF8
#define TWI_READ_BIT   0
#define TWI_REP_START   0x10

Referenced by switch().

#define TWI_SRX_ADR_ACK   0x60
#define TWI_SRX_ADR_ACK_M_ARB_LOST   0x68
#define TWI_SRX_ADR_DATA_ACK   0x80
#define TWI_SRX_ADR_DATA_NACK   0x88
#define TWI_SRX_GEN_ACK   0x70
#define TWI_SRX_GEN_ACK_M_ARB_LOST   0x78
#define TWI_SRX_GEN_DATA_ACK   0x90
#define TWI_SRX_GEN_DATA_NACK   0x98
#define TWI_SRX_STOP_RESTART   0xA0
#define TWI_START   0x08

Referenced by switch().

#define TWI_STX_ADR_ACK   0xA8
#define TWI_STX_ADR_ACK_M_ARB_LOST   0xB0
#define TWI_STX_DATA_ACK   0xB8
#define TWI_STX_DATA_ACK_LAST_BYTE   0xC8
#define TWI_STX_DATA_NACK   0xC0
#define TWISLAVE_ADDR   0x10

void twi_master_init ( void  )

Call this function to set up the TWI master to its initial standby state.

Remember to enable interrupts from the main application after initializing the TWI.

References TWI_BAUDSETTING.

Referenced by main(), run_twi_master_recv_test(), run_twi_master_send_test(), and twi_master_setup().

void twi_retrieve_message ( void  )
void twi_send_message ( void  )