---
name: "util_twi.h"
section: "3avr"
platform: "linux"
package: "avr-libc"
version: "1:2.2.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/util_twi.h"
---

# util\_twi.h(3avr)

## NAME

twi.h

## SYNOPSIS

### Macros

**TWSR values**\
 Mnemonics: \
 TW\_MT\_xxx - master transmitter \
 TW\_MR\_xxx - master receiver \
 TW\_ST\_xxx - slave transmitter \
 TW\_SR\_xxx - slave receiver

\#define **TW\_START**   0x08\
 \#define **TW\_REP\_START**   0x10\
 \#define **TW\_MT\_SLA\_ACK**   0x18\
 \#define **TW\_MT\_SLA\_NACK**   0x20\
 \#define **TW\_MT\_DATA\_ACK**   0x28\
 \#define **TW\_MT\_DATA\_NACK**   0x30\
 \#define **TW\_MT\_ARB\_LOST**   0x38\
 \#define **TW\_MR\_ARB\_LOST**   0x38\
 \#define **TW\_MR\_SLA\_ACK**   0x40\
 \#define **TW\_MR\_SLA\_NACK**   0x48\
 \#define **TW\_MR\_DATA\_ACK**   0x50\
 \#define **TW\_MR\_DATA\_NACK**   0x58\
 \#define **TW\_ST\_SLA\_ACK**   0xA8\
 \#define **TW\_ST\_ARB\_LOST\_SLA\_ACK**   0xB0\
 \#define **TW\_ST\_DATA\_ACK**   0xB8\
 \#define **TW\_ST\_DATA\_NACK**   0xC0\
 \#define **TW\_ST\_LAST\_DATA**   0xC8\
 \#define **TW\_SR\_SLA\_ACK**   0x60\
 \#define **TW\_SR\_ARB\_LOST\_SLA\_ACK**   0x68\
 \#define **TW\_SR\_GCALL\_ACK**   0x70\
 \#define **TW\_SR\_ARB\_LOST\_GCALL\_ACK**   0x78\
 \#define **TW\_SR\_DATA\_ACK**   0x80\
 \#define **TW\_SR\_DATA\_NACK**   0x88\
 \#define **TW\_SR\_GCALL\_DATA\_ACK**   0x90\
 \#define **TW\_SR\_GCALL\_DATA\_NACK**   0x98\
 \#define **TW\_SR\_STOP**   0xA0\
 \#define **TW\_NO\_INFO**   0xF8\
 \#define **TW\_BUS\_ERROR**   0x00\
 \#define **TW\_STATUS\_MASK**\
 \#define **TW\_STATUS**   (TWSR & **TW\_STATUS\_MASK**)\

**R/~W bit in SLA+R/W address field.**\

\#define **TW\_READ**   1\
 \#define **TW\_WRITE**   0\

## Author

Generated automatically by Doxygen for AVR-LibC from the source code.
