26-TWI_KOM-Library (ATMega)

-mit dieser Library kann eine TWI-Kommunikation zwischen mehreren CPUs realisiert werden.

-Eine CPU wird als Master programmiert und diese kann mit maximal 8 Slaves per TWI kommunizieren.

-weil die Kommunikation per TWI-Bus funktioniert, wird auch der TWI-Treiber
“MK3_2560_TWI.h” benötigt

Master Funktionen :

1
2
3
4
5
6
7
void MK3_INIT_TWI_MASTER(void);                                                              // zum init des Masters
TWI_SEND_ID_t MK3_TWIM_WRITE8_SLAVE(TWI_Slave_ADR_t twi_adr, char adr, char wert);           // um ein Byte zu einem Slave zu senden
TWI_SEND_ID_t MK3_TWIM_READ8_SLAVE(TWI_Slave_ADR_t twi_adr, char adr);                       // um ein Byte von einem Slave zu lesen
unsigned char MK3_TWIM_RD8_DATA(void);                                                       // zum lesen des uebertragenen Wertes
TWI_SEND_ID_t MK3_TWIM_WRITE16_SLAVE(TWI_Slave_ADR_t twi_adr, char adr, unsigned int wert);  // um ein Integer zu einem Slave zu senden
TWI_SEND_ID_t MK3_TWIM_READ16_SLAVE(TWI_Slave_ADR_t twi_adr, char adr);                      // ein ein Integer von einem Slave zu lesen
unsigned int MK3_TWIM_RD16_DATA(void);                                                       // zum lesen des uebertragenen Wertes

Slave Funktionen :

1
2
3
4
5
6
void MK3_INIT_TWI_SLAVE(TWI_Slave_ADR_t twi_adr);     // zum initialis. vom TWI als Slave
TWI_KOM_STATUS_t MK3_TWIS_AKTIVITY(void);             // erkennt TWI aktivitaeten
void MK3_TWIS_WR8_RAM(char adr, char daten);          // schreibt ein byte ins RAM
unsigned char MK3_TWIS_RD8_RAM(char adr);             // liest ein byte aus dem RAM
void MK3_TWIS_WR16_RAM(char adr, unsigned int daten); // schreibt ein INT ins RAM
unsigned int MK3_TWIS_RD16_RAM(char adr);             // liest ein INT aus dem RAM

Hier die Library zum download :

UB_MK3_2560_TWI_KOM_v100


Wie hat Dir dieser Artikel gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert