//-------------------------------------------------------------------------- // Titre : Header librairie de communication i2c master //-------------------------------------------------------------------------- // Fonction : Fonctions de gestion communication i2c master //-------------------------------------------------------------------------- // Processeur : ATmega8/48/88/168 // Langage : C // Date : 11/12/2008 // Version : 1.1 // Auteur : Devtronic SARL //-------------------------------------------------------------------------- #ifndef MYAVR_I2C_MASTER #define MYAVR_I2C_MASTER // Initialisation i2c master // debit : valeur du registre TWBR pour sélection du débit // prescaler : valeur des bits du registre TWSR pour sélection du prescaler void MYAVRI2CMASTER_initialisation(char debit,char prescaler); // Envoi de la séquence de start + adresse // Renvoi 1 si pas d'erreur, 0 sinon // adresse : adresse de l'esclave avec lequel démarrer la communication // type : 1 = lecture - 0 = écriture int MYAVRI2CMASTER_debut_transaction(char adresse_esclave, int type); // Reprise d'une transaction n'ayant pas été stoppée // Renvoi 1 si pas d'erreur, 0 sinon // adresse : adresse de l'esclave avec lequel continuer la communication // type : 1 = lecture - 0 = écriture int MYAVRI2CMASTER_reprise_transaction(char adresse_esclave, int type); // Envoi de la séquence stop void MYAVRI2CMASTER_fin_transaction(void); // Ecriture d'un octet sur le bus // Renvoi 1 si pas d'erreur, 0 sinon // donnee : l'octet à écrire int MYAVRI2CMASTER_ecriture(char donnee); // Ecriture d'un octet sur le bus avec acknowledge à la fin (pour indiquer au slave qu'on veut continuer de recevoir) // Renvoi la donnée lue char MYAVRI2CMASTER_lecture_ack(void); // Ecriture d'un octet sur le bus sans acknowledge à la fin (doit être suivit par un stop) // Renvoi la donnée lue char MYAVRI2CMASTER_lecture_nack(void); #endif //--------------------------------------------------------------------------