Dokumentacja pliku twi.h

Obsługa TWI ($I_2C$). Więcej...

#include <util/twi.h>
#include "twi.c"

Idź do kodu źródłowego tego pliku.

Definicje

#define TWI_INIT()   TWBR = (unsigned char)(F_CPU / (8ul * TWI_BAUD) - 2);
#define TWI_STOP()

Funkcje

uint8_t twi_start (uint8_t slave_addr, uint8_t write)
uint8_t twi_read (uint8_t *var)
uint8_t twi_write (uint8_t value)


Opis szczegółowy

Obsługa TWI ($I_2C$).

Pamiętaj o podciągnięciu linii SCL i SDA do Vcc! Można w tym celu użyć wewnętrznych rezystorów odpowiednich portów (kod dla ATMega16):

 PORTC |= _BV(0) | _BV(1);

Przed użyciem biblioteki należy zdefiniować stałe (jeżeli nie zostaną zdefiniowane ręcznie, będą posiadały wartości domyślne):

Ponadto, na początku programu powinno być wywołane makro TWI_INIT().

Przykładowe wykorzystanie:

 PORTC |= _BV(0) | _BV(1);
 TWI_INIT();
 if (!twi_start(0x12, 1))
        return -1;
 if (!twi_write(123))
        return -1;
 TWI_STOP();

Autor:
Tomasz Wasilczyk (http://www.wasilczyk.pl)

Dokumentacja definicji

 
#define TWI_INIT (  )     TWBR = (unsigned char)(F_CPU / (8ul * TWI_BAUD) - 2);

Włączenie obsługi TWI. Wywoływane jednorazowo w czasie działania programu.

 
#define TWI_STOP (  ) 

Wartość:

{ \
        TWCR = _BV(TWINT) | _BV(TWEN) | _BV(TWSTO); \
        while (TWCR & _BV(TWSTO)); \
}
Wysłanie sygnału STOP. Wywoływane po każdej transmisji.


Dokumentacja funkcji

uint8_t twi_start ( uint8_t  slave_addr,
uint8_t  write 
)

Rozpoczęcie transmisji TWI.

Parametry:
slave_addr 7-bitowy adres docelowy. Najstarszy bit powinien być wyzerowany
write Czy jest to operacja zapisu
Zwraca:
Czy zakończono powodzeniem

uint8_t twi_read ( uint8_t *  var  ) 

Odczyt bajtu z urządzenia TWI

Parametry:
var Adres zmiennej, pod który ma być zapisana odczytywana dana
Zwraca:
Czy zakończono powodzeniem

uint8_t twi_write ( uint8_t  value  ) 

Zapis bajtu do urządzenia TWI

Parametry:
value Zapisywana dana
Zwraca:
Czy zakończono powodzeniem


Wygenerowano Sun Dec 6 19:18:51 2009 dla tAvrLib programem  doxygen 1.5.9