Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
microcontrollertechnik:software_i2c_slave [2021/06/20 23:50] – angelegt tfischermicrocontrollertechnik:software_i2c_slave [2023/12/19 17:36] (aktuell) mexleadmin
Zeile 52: Zeile 52:
  
 // Konstanten // Konstanten
-#define SET_BIT(PORT, BIT)  ((PORT) |=  (1 << (BIT))) // Port-Bit Zustand setzen +#define SET_BIT(BYTE, BIT) ((BYTE) |=  (1 << (BIT))) // Bit Zustand in Byte setzen 
-#define CLR_BIT(PORT, BIT)  ((PORT) &= ~(1 << (BIT))) // Port-Bit Zustand loeschen +#define CLR_BIT(BYTE, BIT) ((BYTE) &= ~(1 << (BIT))) // Bit Zustand in Byte loeschen 
-#define TGL_BIT(PORT, BIT)  ((PORT) ^=  (1 << (BIT))) // Port-Bit Zustand wechseln (toggle)+#define TGL_BIT(BYTE, BIT)  ((BYTE) ^=  (1 << (BIT))) // Bit Zustand in Byte wechseln (toggle)
  
 /// Port for the I2C /// Port for the I2C
Zeile 188: Zeile 188:
  TWAR_soft = (Address<<1); // Adresse in das Pseudoregister schreiben  TWAR_soft = (Address<<1); // Adresse in das Pseudoregister schreiben
  TWAMR_soft= AddressMask; // Adressmaske in das Pseudoregister schreiben  TWAMR_soft= AddressMask; // Adressmaske in das Pseudoregister schreiben
- TWCR_soft = (1<<TWEA)|(1<<TWEN)|(1<<TWIE); // Enable Ack, Enable Interupt und Enable TIW+ TWCR_soft = (1<<TWEA)|(1<<TWEN)|(1<<TWIE); // Enable Ack, Enable Interupt und Enable TWI