Bit-Banging mit Raspberry Pi für I2C Steuerung mit Perl


Erste allgemeine Hintergrundinformationen

Voraussetzung zur Nutzung vieler der I2C Parallelport IC mit dem Raspberry Pi musst du in der Lage sein, die Daten zu manipulieren etwas weiser. Dies geschieht in der Regel in einem Mikro-Controller, aber mit dem Pi gibt es viel mehr Energie für andere Dinge zu tun, so dass wenn Sie die wenig klug Manipulation der Daten beherrschen können Sie sehr mächtige Werkzeuge bauen. Eine sehr häufig wenig klug Aufgabe ist ein bisschen zu wechseln. Für Instanz haben wir eine Bank von Relais, 0010_0100b und wollen, dass das dritte Bit wechseln die derzeit ist ein auf eine Null Weg dazu mit einer exklusiven oder Operation ratsam. In Perl ist dies mit der "^" Karotte Symbol, wo jedes Bit einzeln ge ist. Bei dieser Operation gibt es einen Schlüsselwert, den wir verwenden, genannt eine "Maske" zur Darstellung der Bit oder Bits, denen wir auf betreiben wollen.

Die allgemeine Formel wird wie folgt aussehen

Current_status_byte ^ Mask_byte = New_status_byte

--------------------------------------------------------------------------------------------

Hier ist ein Beispiel zeigt die Binärwerte wo wollen wir das dritte Bit in die Status_byte wechseln

0010_0100 ^ 0000_0100 = 0010_0000

und wenn wir wiederholen Sie den Vorgang erneut können wir das Bit wieder auf umschalten.

0010_0000 ^ 0000_0100 = 0010_0100

------------------------------------------------------------------------------------------------

Eine andere gemeinsame Sache zu tun ist, ein bisschen was wir tun kann, ähnlich wie mit dem bisschen weiser und Funktion zu löschen. Allgemein wird dies ähnlich aussehen, aber wir brauchen, um die Maske für diesen Vorgang zu wechseln

Current_status_byte & Mask_byte_inverted = New_status_byte

Für das numerisches Beispiel

0010_0000 & 1111_1011 = 0010_0000

Nun aber tun wir den Vorgang erneut, das Bit nicht es bleibt klar umschalten

0010_0000 & 1111_1011 = 0010_0000

------------------------------------------------------------------------------------------------

In einer idealen Welt würden Sie wahrscheinlich wollen eine Maske Byte und ergänzen das Masken-Bit in der Formel, so können Sie umschalten oder mit der gleichen Maske Bit löschen. verwenden die wenig klug invertieren. Hier ist ein Weg, um Klartext zu ändern, so dass Sie für beide die gleiche Maske verwenden können

0010_0000 & ~ 0000_0100 = 0010_0000

In Verbindung stehende Artikel

Interfacing PS2-Controller mit AVR-Bit Bang

Interfacing PS2-Controller mit AVR-Bit Bang

Hey Freunde in diesem instructable ich werde Ihnen zeigen wie man Schnittstelle Sony PS2-Controller mit AVR-Mikrocontroller. Dies wird praktisch Code Sie in Zukunft verwendet werden, um Roboter zu steuern. Analogen Wert erhalten Sie vom Joystick die
So wechseln Sie Fuse Bits des AVR Atmega328p - 8-Bit Mikrocontroller mit Arduino

So wechseln Sie Fuse Bits des AVR Atmega328p - 8-Bit Mikrocontroller mit Arduino

In diesem instructable erfahren Sie wie die Fuse Bits der Atmega328p Microcontroller zu ändern. Arduino Mega verwende ich als Programmierer-Programm Atmega328P-PU auf Steckbrett. Es kommt mit einem Standardwert 1MHz interner Oszillatorfrequenz kalibr
Esel Kong Regal mit Perler Beads

Esel Kong Regal mit Perler Beads

Hallo, alle! Herzlich Willkommen Sie auf meiner zweiten instructable! (Ich bin noch jung, also bitte nicht unhöflich sein) Heute werde ich Ihnen zeigen, wie eine Donkey Kong unter dem Motto Regal mit Perler Perlen zu machen.Mama sagt: "Wir machen nic
Einfach Rainbow Loom Armband mit Perler Beads Tutorial

Einfach Rainbow Loom Armband mit Perler Beads Tutorial

dieses video Tutorial wird Ihnen zeigen, wie einfach es ist, ein Regenbogen Webstuhl Armband mit Perler Perlen machen. Dieses Muster ist ideal für Anfänger.Um an diesem Projekt Sie loslegen werde müssen ein Regenbogen Webstuhl (Haken) und Regenbogen
Bau eines Roboters mit Perler Beads

Bau eines Roboters mit Perler Beads

Hassen Sie es, wenn eine Überschrift Sie etwas verspricht, die der Autor später liefern kann? Nun, denke ich, dass ich daran Schuld bin. Du kannst natürlich keinen Roboter mit Perler Perlen bauen. Aber Sie können etwas, das aussieht wie ein Roboter z
1979 bang & Olufsen Raspberry Pi Internetradio

1979 bang & Olufsen Raspberry Pi Internetradio

Dies ist ein 1979 Bang & Olufsen Beocord 1500 Kassettenrekorder, die ich in eine eigenständige Raspberry Pi Internetradio umgewandelt habe. Die analogen VU-Meter sind die Pi über einen DAC (Digital-Analog-Wandler), mit der aktuellen Uhrzeit, Bahnhof
8-Bit-Radierung mit Dremel

8-Bit-Radierung mit Dremel

Für unsere Dremel bauen Nacht, die wir, dass wir hätten viele Familien anwesend wussten, deshalb wir ein einfaches Projekt wollten konnten die Kinder tun und Ihnen praktische Erfahrung mit dem Tool. Die Kinder in unserer Werkstatt zeichnete Entwürfe
Kette mit Perle und Sicherheits-Pin

Kette mit Perle und Sicherheits-Pin

wie viel haben Sie süchtig nach dem Kunsthandwerk? Die Perlenkette-Design-Ideen werden heute schockiert wirklich Sie so viel wie seine Person und Bond Sammlungen von Perle Perle und Sicherheitsnadeln in einem Stück.Zwar als Symbol für Eleganz und edl
DIY Gesteinsablagerungen Halskette ein Armbänder mit Perls

DIY Gesteinsablagerungen Halskette ein Armbänder mit Perls

Ich habe mein Material-Box und es fanden viele Perlen. So hatte ich die Idee der pearly in Ketten und Armbänder zu häkeln.Du brauchst:Perlen (größeres Loch)Farbige Schnur (z.B. gewachste Baumwollfäden oder Makramee-Garn etc..)HäkelnadelIch mischte ei
DIY Vintage Schmuck - handgefertigte Ohrringe mit Perle Laterne und Kristall Quaste

DIY Vintage Schmuck - handgefertigte Ohrringe mit Perle Laterne und Kristall Quaste

dieses DIY-Vintage-Schmuck Tutorial lernst du ein paar handgefertigte Ohrringe die sanften rosa Glasperlen und facettenreiche Kristalle bestehen.Schritt 1: bereiten Sie Perle Laterne und Kristall focals 1. Thread ein Tibeter zu finden, eine rosa Perl
Raspberry Pi Spectrum Analyzer mit RGB-LED-Streifen und Python

Raspberry Pi Spectrum Analyzer mit RGB-LED-Streifen und Python

auf der Suche nach ein erstes Projekt auf einem Raspberry Pi ausprobieren ich aber was besser als ein Spectrum Analyzer? (Manchmal ist diese Anzeige fälschlicherweise bezeichnet, als einen Grafik-Equalizer - das wollen wir den Ton ändern nicht angeze
Beschleunigungsmessung mit BMA250 und Raspberry Pi

Beschleunigungsmessung mit BMA250 und Raspberry Pi

BMA250 ist eine kleine, dünne, Frequenzverschiebungen Power, 3-Achsen-Beschleunigungssensor mit hoher Auflösung (13 Bit) Messung an bis zu ±16 g. digitaler Ausgang, die Daten formatiert ist, wie 16-Bit zweit ergänzen und durch digitale I2C Schnittste
Raspberry Pi ein Schieberegister mit

Raspberry Pi ein Schieberegister mit

diese instructable versucht zu erklären, in einfachen Worten, was eine Verschiebung Register ist, und wie können Sie es mit dem Raspberry Pi, um die GPIO-Port durch laufen acht Ausgänge mit nur vier GPIO-Ports zu erweitern.Um mit anzufangen, was ist
Ob das Wetter mit dem Wolfram Language + Raspberry Pi (Autor: Arnoud Buzing)

Ob das Wetter mit dem Wolfram Language + Raspberry Pi (Autor: Arnoud Buzing)

Dieser Beitrag zeigt, wie eine Wetterstation-Modul mit der Wolfram-Sprache auf einem Raspberry Pi verwenden.Um dieses Experiment zu erstellen benötigen Sie die folgende Hardware (neben dem Raspberry Pi selbst):Raspberry Pi Wetterstation BoardSchritt