![]() |
LUFA Library 110528
|
TWI Peripheral Driver (AVR8) More...
#include "../../../Common/Common.h"
#include <stdio.h>
#include <util/twi.h>
Defines | |
#define | TWI_ADDRESS_READ 0x00 |
#define | TWI_ADDRESS_WRITE 0x01 |
#define | TWI_DEVICE_ADDRESS_MASK 0xFE |
#define | TWI_BIT_PRESCALE_1 ((0 << TWPS1) | (0 << TWPS0)) |
#define | TWI_BIT_PRESCALE_4 ((0 << TWPS1) | (1 << TWPS0)) |
#define | TWI_BIT_PRESCALE_16 ((1 << TWPS1) | (0 << TWPS0)) |
#define | TWI_BIT_PRESCALE_64 ((1 << TWPS1) | (1 << TWPS0)) |
Enumerations | |
enum | TWI_ErrorCodes_t { TWI_ERROR_NoError = 0, TWI_ERROR_BusFault = 1, TWI_ERROR_BusCaptureTimeout = 2, TWI_ERROR_SlaveResponseTimeout = 3, TWI_ERROR_SlaveNotReady = 4, TWI_ERROR_SlaveNAK = 5 } |
Functions | |
static void | TWI_Init (const uint8_t Prescale, const uint8_t BitLength) ATTR_ALWAYS_INLINE |
static void | TWI_Disable (void) ATTR_ALWAYS_INLINE |
static void | TWI_StopTransmission (void) ATTR_ALWAYS_INLINE |
static bool | TWI_SendByte (const uint8_t Byte) |
static uint8_t | TWI_ReceiveByte (uint8_t *const Byte, const bool LastByte) |
uint8_t | TWI_StartTransmission (const uint8_t SlaveAddress, const uint8_t TimeoutMS) |
uint8_t | TWI_ReadPacket (const uint8_t SlaveAddress, const uint8_t TimeoutMS, const uint8_t *InternalAddress, uint8_t InternalAddressLen, uint8_t *Buffer, uint8_t Length) |
uint8_t | TWI_WritePacket (const uint8_t SlaveAddress, const uint8_t TimeoutMS, const uint8_t *InternalAddress, uint8_t InternalAddressLen, const uint8_t *Buffer, uint8_t Length) |
On-chip TWI driver for the 8-bit AVR microcontrollers.