Dokumentacja pliku pcf8574.h

Sterowanie ekspanderem portów $I_2C$ PCF8574. Więcej...

#include "twi.h"
#include "pcf8574.c"

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

Funkcje

uint8_t pcf8574_write (uint8_t addr, uint8_t value)
uint8_t pcf8574_read (uint8_t addr, uint8_t *var)


Opis szczegółowy

Sterowanie ekspanderem portów $I_2C$ PCF8574.

Przed użyciem biblioteki należy zainicjować TWI przez TWI_INIT(). Pamiętaj też o podciągnięciu pinów GPIO 8574 do VCC. Ekspander nie wymaga przełączania trybów (odczyt / zapis).

Przykładowe wykorzystanie:

#define F_CPU 16000000

#include <avr/io.h>
#include <tAvrLib/pcf8574.h>
#include <util/delay.h>

/* Na wypadek błędu, zacznie migać pierwsza dioda portu B */
void err()
{
        while (1)
        {
                PORTB |= _BV(0);
                _delay_ms(250);
                PORTB &= ~_BV(0);
                _delay_ms(250);
        }
}

int main()
{
        uint8_t tmp = 0;
        
        /* zainicjowanie portów. Pierwsza dioda portu B świeci */
        DDRA = 255;
        DDRB = 255;
        PORTA = 0;
        PORTB = ~_BV(0);
        
        /* ustawienie pull-up dla TWI oraz jego zainicjowanie */
        PORTC |= _BV(0) | _BV(1);
        TWI_INIT();
        
        /* ustawienie wyjść pierwszego ekspandera na 0x02, drugiego na 0x01 */
        if (!pcf8574_write(0x0, 0x02))
                err();
        if (!pcf8574_write(0x1, 0x01))
                err();
        
        /* odczyt drugiego ekspandera i wyświetlenie jego stanu na porcie A */
        if (!pcf8574_read(0x1, &tmp))
                err();
        PORTA = tmp;

        /* druga dioda portu B sygnalizuje pomyślne zakończenie programu */
        PORTB &= ~_BV(1);

        return 0;
}

Schemat połączeń dla powyższego przykładu:

pcf8574-schema.png

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

Dokumentacja funkcji

uint8_t pcf8574_write ( uint8_t  addr,
uint8_t  value 
)

Ustawienie portów wyjściowych.

Parametry:
addr Numer ekspandera (liczba 3-bitowa)
value Stan portów wyjściowych (bit ustawiony - stan wysoki)
Zwraca:
Czy zakończono powodzeniem

uint8_t pcf8574_read ( uint8_t  addr,
uint8_t *  var 
)

Odczyt portów wejściowych.

Parametry:
addr Numer ekspandera (liczba 3-bitowa)
var Adres zmiennej, pod który ma być zapisany stan portów
Zwraca:
Czy zakończono powodzeniem


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