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 |
Referenced by twi_retrieve_message(), twi_send_message(), and twi_start_transceiver_with_data().
#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.
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 |
Referenced by twi_start_transceiver(), and twi_start_transceiver_with_data().
#define TWI_READ_BIT 0 |
Referenced by twi_retrieve_message(), twi_send_message(), and twi_start_transceiver_with_data().
#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 |
Referenced by twi_retrieve_message(), and twi_send_message().
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 | ) |
To Receive data over TWI.
References TWI_statusReg::all, TWI_statusReg::lastTransOK, RX_Buffer, TRUE, TWI_addr, TWI_ADR_BITS, TWI_msgSize, TWI_READ_BIT, twi_transceiver_busy(), and TWISLAVE_ADDR.
Referenced by Receive_Message().
void twi_send_message | ( | void | ) |
To Transmit data over TWI.
References TWI_statusReg::all, FALSE, TWI_addr, TWI_ADR_BITS, TWI_msgSize, TWI_READ_BIT, twi_transceiver_busy(), TWISLAVE_ADDR, and TX_Buffer.
Referenced by main(), and Send_Message().
union TWI_statusReg TWI_statusReg |