Ein niedriger Ausgang wird erzeugt, indem die Signalleitung niedrig angesteuert und die Pin-Richtung zu einem Ausgang geändert wird. Ein hoher Ausgang wird durch Ändern erzeugtdie Pin-Richtung zu einem Eingang, so dass der externe Widerstand das signalhigh zieht.
Im Slave-Modus erfolgt diese Aktion für Sie durch das SSP-Modul(die Ausgänge des Registers bei SDA und SCL werden unabhängig vom Zustand des Registerwertes automatisch niedrig angesteuert).
16F88 Master modus
Grundsätzlich gibt es sehr begrenzte master modus funktionalität.,
Es werden zwei Elemente bereitgestellt:
- Interrupts
- Pin control
16F88 Interrupts
Es gibt zwei Interrupts, die beim Empfang der AStart-oder STOP-Bedingung aktiviert werden. Diese beiden Interrupts sind nur in einem Multi-Mastermode-System nützlich, in dem das Nicht-Master-Gerät die Start-und Stoppbedingungen erkennen muss. Für ein Single-Master-System nützen sie also überhaupt nichts!
16F88 Pin-Steuerung
Hinweis Wenn das SSP-Modul aktiv ist, werden SDA-und SCL-Ausgänge unabhängig vom Status der Registerwerte immer auf Null gesetzt., Also alles, was Sie tun müssen, ist die Steuerung der Hafenrichtung.
Im Master-Modus (16F88) müssen SDA und SCL mittels Software gesteuert werden.
I2C Tutorial: Besonderheiten für 16F877A
Es tut alles für sie!
- Volle-master-Modus.
- Volle slave modus.
- Vollständiger allgemeiner Aufruf.
Hinweis: Wenn Sie einen Chip mit vollständiger Master – und Slave-Moderation wünschen, suchen Sie nach dem MSSP – Modul in einem PIC – Chip, z. B. 16F877A-dann benötigen Sie nicht mehr Software-gerade genug, um das Modul anzutreiben.
PIC Projekt Beispiel
DS1307 echtzeit uhr (bit bangedI2C).,
Arduino Examples
BMP280 Pressure sensor
MCP23017 IO expander.
ADS1115 16 bit ADC.
AXD345 Accelerometer.
MCP4725 DAC with memory.
Jump from I2C Tutorialto
Best-microcontroller-projects home page
Show Index
Site Map | Terms of Use