Dieser Leitfaden richtet sich an Personen ohne Programmiererfahrung oder -kenntnisse. Die Arbeit mit IC10 kann für jemanden, der damit noch nicht vertraut ist, ziemlich entmutigend sein. Glücklicherweise, Sobald Sie sich daran gewöhnt haben, systematisch über Dinge nachzudenken, Schritt für Schritt, Es ist überraschend intuitiv, Chips dazu zu bringen, das zu tun, was Sie von ihnen erwarten. Dieser Leitfaden soll Sie an diesen Punkt bringen.
Aufstellen
Um mit IC10 zu arbeiten, Sie benötigen eine Grundausrüstung:
- Computer
- IC-Editor-Motherboard
- IC-Gehäuse
- IC10-Chip (im Gehäuse platzieren)
Der Datenanschluss des IC-Gehäuses sollte mit dem Datenanschluss des Computers verbunden werden, und beide sollten mit Strom versorgt werden. Der Einfachheit halber, Ich verbinde sie einfach alle in einem separaten Netzwerk. Sie können ein Netzwerk vom Rest Ihrer Basis trennen, indem Sie einen Leistungsregler dazwischen platzieren.
Wenn beide ordnungsgemäß angeschlossen und eingeschaltet sind, Sie sehen das Dropdown-Menü oben links auf dem Computerbildschirm „IC-Gehäuse“ oder wie auch immer Sie das Gehäuse beschriftet haben.
Beachten Sie die beiden anderen Schaltflächen: „Import“ Und „Export“. Der Code, den Sie in den Computer schreiben, wird separat gespeichert und NICHT automatisch auf den aktuell im Gehäuse befindlichen IC10-Chip übertragen. Klicken Sie auf „Import“ lädt den Code vom Chip in Ihren Computer, überschreibt, was Sie im Editor haben. Klicken Sie auf „Export“ schreibt den Code von Ihrem Computer auf den Chip.
Vergessen Sie nicht, auf „Exportieren“ zu klicken, wenn Sie mit der Optimierung Ihres Codes fertig sind.
Endlich, Klicken Sie auf „Bearbeiten“ Klicken Sie unten rechts auf dem Bildschirm auf die Schaltfläche, um den Code-Editor zu öffnen.
Grundlagen
Lassen Sie uns direkt in die Dinge eintauchen.
Machen Sie sich vorerst keine Sorgen um alle Tasten. Code verstehen, Beginnen wir mit seiner Struktur.
Code wird als eine Reihe von Zeilen geschrieben, einer nach dem anderen. Beachten Sie die Zeilennummern auf der linken Seite des Bildschirms. Es wird von oben nach unten gelesen. Denken Sie immer daran, dass der Computer genau das auch tut. Es liest zuerst Zeile 0 und tut, was diese Zeile ihm sagt, geht dann zur nächsten Zeile über und tut, was diese Zeile ihm sagt.
Manchmal, Eine Zeile wird den Computer dazu auffordern springen in eine andere Zeile statt in die nächste. Der Computer liest dann die Zeile, zu der er gesprungen ist, Tu, was es sagt, Fahren Sie dann mit der nächsten Zeile fort, und so weiter und so weiter.
Im Zweifelsfall, Beginnen Sie immer in der Zeile 0, und arbeiten Sie sich langsam Zeile für Zeile durch Ihr Programm. Folgen Sie dem Gedankengang des Computers und Sie werden Ihre Fehler immer entdecken können.
Beachten Sie, dass einige Wörter unterschiedliche Farben haben. Jede dieser Farben bedeutet etwas Besonderes. Sie sind eine großartige Möglichkeit, Ihnen zu helfen, zu verstehen, wie der Computer das, was Sie geschrieben haben, interpretiert.
- Gelbe Wörter sind Funktionen. Sie weisen den Computer an, eine bestimmte Aktion auszuführen. Oft müssen Sie einer Funktion zusätzliche Informationen geben, oder Argumente.
- Weiße Wörter sind Namen. Diese helfen Ihnen, sich daran zu erinnern, welche Rolle Sie verschiedenen Geräten und Registern zugewiesen haben.
- Grüne Wörter sind Geräteanschlüsse. Sie entsprechen bestimmten Anschlüssen am IC10 Gehäuse, Auf diese Weise verbinden Sie den Chip mit anderen Dingen im Netzwerk, beispielsweise mit Sensoren, Heizungen und Kühler, und so weiter.
- Orangefarbene Wörter sind Gerätevariablen. Sie entsprechen bestimmten Informationen, die ein Gerät sammelt oder verwendet, und sie unterscheiden sich von Gerät zu Gerät. Zum Beispiel, Sie können bearbeiten Horizontal Und Vertikal auf Sonnenkollektoren, um zu kontrollieren, wohin sie gerichtet sind, solange du lesen kannst Temperatur Und Druck von Gassensoren.
- Blaue Wörter sind registriert. Sie fungieren als temporäres Gedächtnis, Orte zum Speichern von Nummern, mit denen Sie gerade arbeiten. Zum Beispiel, wenn Sie die Temperatur von einem Gassensor laden, Sie müssen es zunächst in einem Register speichern, wenn Sie es mit etwas anderem vergleichen möchten.
- Blaugrüne Wörter sind Werte. Es sind einfache Zahlen und bedeuten, was sie bedeuten.
- Lila Wörter sind Etiketten. Anstatt einem Computer mitzuteilen, dass er zu einer bestimmten Zeile springen soll, Wir können es stattdessen anweisen, zu einem Label zu springen. Dies hilft uns erheblich, unseren Code zu organisieren, indem wir bestimmten Teilen davon Namen geben.
- Rote Wörter sind Fehler. Die meiste Zeit, Du hast etwas Falsches eingegeben. Jedoch, Manchmal erkennt der Editor Beschriftungen nicht richtig.
Endlich, Beachten Sie die drei Schaltflächen oben rechts im Editor. Dabei handelt es sich um Referenzlisten, die Ihnen weiterhelfen können, wenn Sie beispielsweise nicht sicher sind, in welcher Reihenfolge Sie Ihre Argumente aufschreiben sollen.
Das Wichtigste ist „F“, Dabei handelt es sich um eine Liste von Funktionen und den Argumenten, die sie annehmen.
Geräte
Wenn Sie ein IC10-Gehäuse an ein Netzwerk anschließen, Andere Geräte im Netzwerk werden nicht automatisch erkannt. Um in Ihrem Code mit ihnen sprechen zu können, Sie müssen sie mit den Geräteanschlüssen am IC10-Gehäuse verbinden.
Dies geschieht, indem man einen Schraubenzieher in die Hand nimmt und die Schrauben am Gehäuse verstellt. Wenn Sie mit der Maus über jede Schraube fahren, Sie können den Namen des Geräts sehen, mit dem der Port derzeit verbunden ist, und zu welcher Sie wechseln, wenn Sie erneut auf die Schraube klicken.
Beachten Sie dies, wenn Sie die Geräteports in Ihrem Code mit der Alias-Funktion umbenannt haben, Sie sehen den Namen des Ports, wenn Sie mit der Maus darüber fahren. Ähnlich, wenn Sie Ihre Geräte mit dem Labeler umbenannt haben, Sie sehen den neuen Namen des Geräts, wenn Sie die Ports anpassen.
Code Teil I
In diesem Abschnitt, Ich verweise auf das oben veröffentlichte Beispielskript, und nur das. Die Zeilennummern und Abschnittsbezeichnungen bleiben immer gleich. Dieses Skript steuert eine Reihe von Flüssigkeitswandkühlern, um die Temperatur dazwischen aufrechtzuerhalten 20 Grad Celsius und 25 Grad Celsius.
Beginnen wir ganz oben und arbeiten uns Zeile für Zeile nach unten vor.
0. Alias Sensor d0
Der alias Die Funktion weist einfach einem Gerät oder einem Register einen Namen zu. Es handelt sich jedoch um eine der nützlichsten Funktionen, die Sie nutzen können, da sie der Organisation enorm hilft.
In diesem Fall, Wir vergeben den Namen „Sensor“ bis d0. Denken Sie an den vorherigen Abschnitt über Geräte? D0 ist das Gerät, das oben links am IC-Gehäuse angeschlossen ist. In diesem Fall, Wir geben dem an diesen Steckplatz angeschlossenen Gerät den Spitznamen „Sensor“.
Beachten Sie, dass der Alias das mit dem Steckplatz verbundene Gerät nicht tatsächlich umbenennt. Dazu müssen Sie manuell einen Etikettierer verwenden. Alias dient ausschließlich der Verwendung innerhalb des Codes, den Sie schreiben.
1. auch bekannt als CurrTemp r0
Eine andere Verwendung eines Alias. Jedoch, Wir weisen a einen Namen zu registrieren. Stellen Sie sich ein Register wie einen Notizblock vor. Es speichert Informationen zur vorübergehenden Verwendung. In diesem Fall, Wir werden es verwenden, um die Temperatur zu speichern, die wir vom Sensor erhalten, und so nennen wir es „CurrTemp“, oder aktuelle Temperatur.
2. Alias MaxTemp r1 3. Alias MinTemp r2 4. alias SetOn r3 5. Alias SetOff r4
In diesen Zeilen, Wir weisen den Registern noch ein paar Namen zu, die wir im Programm verwenden werden. Dies sind die maximalen und minimalen Temperaturen, die wir im Raum haben möchten, und die Werte, die wir auf einem Gerät speichern müssen, um es ein- und auszuschalten.
6. MaxTemp hinzufügen 273 25
Hier erhalten wir die erste echte Mathematik im Programm. Lassen Sie es uns aufschlüsseln. Aber zunächst einmal, Werfen wir einen Blick auf die Beschreibung der Funktion hinzufügen im eigenen Nachschlagewerk des Herausgebers.
Wenn das verwirrend erscheint, Mach dir keine Sorgen. Es ist ganz einfach, wenn man es einmal aufschlüsselt.
r hinzufügen? A ( R? | Num ) B ( R? | Num ) Registrieren = a + B.
Die erste Zeile beschreibt, wie Sie die Funktion in Ihrem Code verwenden. In diesem Fall, Sie tippen „hinzufügen“ Erste. Anschließend legen Sie das Register fest (R?). Dann spezifizieren Sie a, und schließlich, Sie geben b an.
Das erste von Ihnen angegebene Register ist der Ort, an dem Sie das Ergebnis speichern möchten. Denken Sie daran, dass Register Notizblöcke sind, in denen Sie Informationen speichern. Das Ergebnis der Addition zweier Zahlen ist nützlich, aber wenn Sie es verwenden möchten, Sie müssen es irgendwo aufbewahren- normalerweise ein Register.
A(R? | Num) bedeutet das „A“ kann entweder ein Register oder eine Zahl sein. Wenn Sie ein Register angeben, hinzufügen übernimmt die im Register gespeicherte Nummer. Das Gleiche gilt für „B“.
Denken Sie daran, dass Register Notizblöcke sind, in denen Informationen gespeichert werden. Die meiste Zeit, Register speichern eine Nummer. Also wenn registrieren 4 speichert die Nummer 15, und registrieren 5 speichert die Nummer 3, Dann:
füge r0 r4 r5 hinzu
Das bedeutet, dass Sie die Zahl in r4 zur Zahl in r5 addieren und das Ergebnis in r0 speichern möchten. Nach dieser Zeile, r0 enthält die Zahl 18.
Ähnlich:
füge r0 r4 hinzu 6
Dies bedeutet, dass Sie die Zahl in r4 zur Zahl hinzufügen möchten 6 und speichere das Ergebnis in r0. Nach dieser Zeile, r0 enthält die Zahl 21.
Im Beispielcode, wir benutzten:
6. MaxTemp hinzufügen 273 25
Das bedeutet, dass wir hinzufügen möchten 273 Zu 25, und speichern Sie das Ergebnis in „MaxTemp“. Erinnern Sie sich an früher (im Einklang 2) dass wir ein Pseudonym erstellt haben „MaxTemp“ zu r1. Somit, diese Zeile fügt einfach hinzu 273 Zu 25 und speichert es im Register r1.
Dies ist die maximale Temperatur, die wir erreichen wollen- 273 + 25 Grad Kelvin, oder ungefähr 25 Grad Celsius.
7. MinTemp hinzufügen 273 20 8. SetOn hinzufügen 0 1 9. SetOff hinzufügen 0 0
Das Gleiche wie oben. Wir speichern unsere Mindesttemperatur von 20 Grad Celsius in Register r2 ein, Speichern der Nummer 1 in Register r3, und Speichern der Nummer 0 in der r4-Registrierung.
Bis jetzt, so gut. Wir haben gerade die Grundzahlen eingerichtet, die wir brauchen.
Kodex Teil II
10. hauptsächlich:
Diese Zeile ist eine Etikett. In den folgenden Codezeilen, wenn wir zu diesem Ort zurückspringen wollen, anstatt dem Computer die konkrete Zeile mitzuteilen, zu der wir springen möchten, Wir können ihm einfach sagen, dass er dorthin springen soll „hauptsächlich“ stattdessen.
11. l CurrTemp-Sensortemperatur
Dies ist unsere erste Zeile mit zwei Aliasnamen, aber seien Sie nicht verwirrt. Es ist eine einfache Anleitung.
Was der Computer tut, ist:
- Suchen Sie nach dem Gerät „Sensor“, Das war der Alias, den wir d0 in der Zeile gegeben haben 0.
- Holen Sie sich den Wert „Temperatur“ vom Sensor.
- Speichern Sie den Wert im Register „CurrTemp“, Das war der Alias, den wir r0 in der Zeile gegeben haben 1.
Nach dieser Zeile, Die aktuelle Temperatur, die unser Gassensor anzeigt, wird erfasst und in r0 gespeichert, oder CurrTemp.
12. bgt CurrTemp MaxTemp Übertemp
bgt ist ein Zweig Funktion, kurz für Zweig (Wenn) größer als.
Das Schlüsselwort ist „Wenn“. Wenn das erste Argument größer als das zweite Argument ist, Dann springt der Computer zu der von Ihnen angegebenen Stelle.
In diesem Fall: wenn CurrTemp größer als MaxTemp ist- das heißt, wenn die Temperatur, die wir vom Sensor ablesen, größer ist als die von uns gewünschte Maximaltemperatur, Welches ist 25 Grad Celsius- dann möchten wir, dass der Computer direkt zu dem aufgerufenen Abschnitt springt „übertemp“.
Ansonsten, wenn CurrTemp nicht größer als MaxTemp ist, Der Computer springt nicht dorthin „übertemp“ und fahren Sie stattdessen einfach mit der nächsten Zeile fort.
13. blt CurrTemp MinTemp Untertemp
blt ist eine weitere Verzweigungsfunktion, kurz für Zweig (Wenn) weniger als.
Es ist das gleiche Angebot wie bgt, außer mit kleiner als statt größer als.
Also in diesem Fall, wenn CurrTemp kleiner als MinTemp ist- wenn unsere aktuelle Temperatur am Sensor niedriger ist als die Mindesttemperatur von 20 Grad Celsius, die wir wollen- dann gehen wir direkt weiter „Untertemp“. Ansonsten gehen wir einfach zur nächsten Zeile über.
14. j Hand
Dies ist eine der wichtigsten Zeilen im gesamten Programm.
Einfach genug, „J“ fordert den Computer dazu auf springen zu einer anderen bestimmten Zeile im Programm.
Da wir die Temperatur unseres Zimmers überwachen wollen, Wir können es nicht einfach einmal ausführen- Das Programm muss sich ständig wiederholen. Jedes Mal wiederholt es sich, Wir möchten, dass es die Temperatur überprüft, und schalten Sie dann die Kühler nach Bedarf ein und aus.
Wenn wir also das Ende des Programms erreichen, Wir sagen ihm, er soll zum Anfang zurückspringen.
In diesem Fall, Wir sagen ihm, dass er zurückspringen soll „hauptsächlich“, was online beschriftet wurde 10, am Anfang dieses Abschnitts des Leitfadens. Dieser gesamte Schleifenteil des Programms wird als bezeichnet Hauptschleife.
Wir kommen hierher, wenn die Temperatur nicht darüber liegt 25 Grad noch darunter 20 Grad Celsius- glücklich zwischendurch. In diesem Fall, Wir wollen von oben beginnen und die Temperatur noch einmal überprüfen, Also springen wir zurück zur Zeile 10 und starten Sie das Programm an dieser Stelle neu.
Kodex Teil III
15. übertemp:
Das ist das Etikett „übertemp“. Denken Sie daran, dass die Temperatur, die wir vom Sensor im Hauptkreislauf erfasst haben, größer war als 25 Grad Celsius, Wir sagten dem Computer, er solle hierher springen.
jdn -1369060582 Auf SetOn
Dies ist eine weitere Funktion, die kompliziert aussieht, aber eigentlich recht einfach ist.
jdn ist eine Funktion, die Sätze Variablen auf a Charge Anzahl der Geräte im Netzwerk.
Zum Beispiel, wenn wir allen Solarmodulen in einem Netzwerk mitteilen wollten, dass sie sich auf eine bestimmte vertikale Höhe drehen sollen, Wir würden diese Funktion verwenden.
In diesem Fall, Wir möchten allen Flüssigkeitswandkühlern im Netzwerk mitteilen, dass sie sich einschalten sollen, da die Temperatur höher ist als die von uns gewünschte Maximaltemperatur.
-1369060582 ist das vorgefertigter Hash von Flüssigkeitswandkühlern. Der Hash identifiziert die Typ des Geräts, kein einzelnes Objekt. Sie können auf den blauen Fertig-Hash klicken, um ihn in Ihre Zwischenablage zu kopieren, und fügen Sie es auf diese Weise in den Editor ein, anstatt es auswendig zu lernen und abzutippen.
Also, was wir sagen jdn ist, dass wir mit jedem Gerät dieser Art etwas machen wollen.
Speziell, Wir wollen den Wert des Registers schreiben „SetOn“ zum „An“ Variable auf dem Gerät.
Grundsätzlich, um ein Gerät ein- und auszuschalten, Wir müssen die Werte schreiben „1“ Und „0“ bzw. zu dessen „An“ Variable. Der jdn Die Funktion ist eine einfache Möglichkeit, dies auf eine ganze Reihe von Geräten mit einem IC10-Chip anzuwenden, ohne Logik-Batch-Writer verwenden zu müssen.
Das kann etwas verwirrend sein, weil wir in dieselbe Variable von schreiben werden „An“ auf dem Gerät später im Untertemp Abschnitt.
So sind die Dinge einfach. Es gibt kein separates „Aus“ Variable, in die geschrieben werden soll, wenn wir sie ausschalten möchten. Stattdessen, wir haben nur On = 0 für aus, und Ein = 1 für auf.
Also nach dieser Zeile, Wir werden alle Flüssigkeitswandkühler im Netzwerk eingeschaltet haben.
j Hand
Noch einmal, Wir müssen die Temperatur überwachen, da sie sich ständig ändert, nicht nur einmal. Genau wie zuvor, Wir springen zurück zum Anfang von hauptsächlich, damit wir die Temperatur noch einmal ablesen können, und beginnen Sie die Schleife von vorne.
18. Untertemp: 19. jdn -1369060582 Auf SetOff 20. j Hand
Das sollte Ihnen mittlerweile bekannt vorkommen.
Wir kommen dazu Untertemp wenn die Temperatur unter ist 20 Grad Celsius. In diesem Fall, wir wollen umkehren aus alle unsere Kühler. Also statt SetOn zu schreiben (welches den Wert von hat 1) zu unseren Wandkühlern, wir schreiben SetOff (welches den Wert von hat 0).
Und schließlich, wir springen zurück zu die Hauptsache wieder, die Schleife von vorne beginnen.
Analyse
Jetzt wissen wir, was jede einzelne Zeile bewirkt, Was macht das Programm als Ganzes eigentlich??
Beginnen wir mit einem etwas zu warmen Raum, sagen 30 Grad Celsius, und führen Sie das gesamte Programm durch, um zu sehen, was es tut.
Ganz am Anfang, Das Programm richtet seine Aliase und Grundnummern ein (oder Konstanten). Dieser Teil geschieht ganz normal.
Jetzt kommen wir zur Linie 11. Da ist das Zimmer 30 Grad Celsius, Der Sensor liest 303 Grad Kelvin, und daher lädt das Programm den Wert von 303 in CurrTemp.
Jetzt kommen wir zur Linie 12. Das Programm vergleicht CurrTemp mit MaxTemp: 303 Zu 298. Seit 303 ist größer als 298, wir verzweigen (oder springen) überhitzen.
Jetzt sind wir online 15 (übertemp), und wir gehen weiter zur Linie 16. Wir haben alle Wandkühler eingeschaltet, und fahren Sie dann mit der nächsten Zeile fort.
Jetzt sind wir online 17. Wir springen zurück zum Hauptmenü, Das ist Linie 10, und weiter zur Zeile 11.
Inzwischen, Der Raum ist etwas abgekühlt- sagen wir mal zu 27 Grad Celsius.
Noch einmal, Das Programm lädt die Temperatur in CurrTemp, Welches ist 300.
Seit 300 ist immer noch größer als 298, es springt wieder auf Übertemperatur, und schaltet alle Wandkühler ein.
Beachten Sie das während dieser ganzen Zeit, Die Wandkühler waren noch eingeschaltet! Es gab nichts, was ihnen sagte, sie sollten abschalten, und das Einschalten, während sie bereits eingeschaltet sind, bringt nichts.
Danach, Wir kehren zum Anfang der Hauptschleife zurück.
Nehmen wir nun an, der Raum sei noch stärker abgekühlt, Diesmal zu 24 Grad Celsius.
Das Programm lädt die Temperatur erneut, Das ist jetzt 297.
Dies ist nicht höher als 298! Das Programm tut es also nicht Springe auf Übertemperatur.
Stattdessen, es geht weiter zur Linie 13, und vergleicht es mit MinTemp- 293.
297 ist auch nicht niedriger als 293, und so geht das Programm weiter zur Zeile 14, und beginnt die Hauptschleife von vorne.
Beachten Sie noch einmal, dass die Kühler während dieser Zeit noch eingeschaltet sind.
Angenommen, der Raum ist endlich abgekühlt 19 Grad Celsius.
Noch einmal laden wir die Temperatur, Welches ist 292.
Dies ist nicht höher als 298, und so springen wir nicht auf Übertemperatur.
Dies ist jedoch niedriger als 293, und so springen wir auf Untertemperatur.
Jetzt online 19, Schließlich schalten wir alle Kühler aus und springen zurück zum Anfang der Hauptschleife.
Grundsätzlich, Dieses Programm hält den Raum in einem Bereich dazwischen 20 Und 25 Grad Celsius. Wenn es vorbei ist 25, es wird es abkühlen, bis es erreicht 20. Sobald es zuschlägt 20, Es beginnt nicht wieder abzukühlen, bis die Temperatur überschritten wird 25 Noch einmal.
Sie können überprüfen, ob Sie die Funktionsweise des Programms verstanden haben, indem Sie unten mit einem Kühlraum beginnen 20 Grad Celsius, die natürlicherweise wärmer werden, und die Schritte durchgehen, die wir in diesem Abschnitt durchgeführt haben.
Endlich, Sie können Ihr Verständnis weiter überprüfen, indem Sie mit einem Raum beginnen, der vorbei ist 30 Grad Celsius, aber anstatt natürlich wärmer zu werden, Es wird natürlich kälter 0 Grad Celsius.
Organisation
Bis jetzt, Wir haben gelernt, Code aus der Perspektive des Computers zu lesen und zu verstehen, und einige Grundfunktionen, und wie man sie verwendet.
Jedoch, Das Wichtigste, was es zu verstehen gilt, ist die Struktur des Programms.
Fast jedes Mal, Sie erhalten die Hauptschleife. Während dieser Schleife, Du liest Daten von verschiedenen Sensoren und Maschinen aus. Dann, basierend auf den von Ihnen gesammelten Daten, Sie können sich entscheiden, verschiedene Dinge zu tun, Verwenden der verschiedenen Verzweigungsanweisungen, und vielleicht Store-Anweisungen verwenden, um andere Geräte dazu zu bringen, etwas zu tun. Am Ende von allem, Sie springen zurück zum Anfang der Hauptschleife.
Die meisten Programme bei Stationeers werden so strukturiert sein. Zum Beispiel, mit einem Solar-Tracking-Programm, Ihre Hauptschleife wird verwendet, um den vertikalen und horizontalen Winkel der Sonne von Tageslichtsensoren zu erhalten. Anschließend führen Sie einige Berechnungen zu den Winkeln durch, und verwenden Sie die Store-Batch-Funktion, um in die horizontalen und vertikalen Variablen aller Solarmodule im Netzwerk zu schreiben.
Der Rest besteht darin, herauszufinden, welche Lade- und Schreibvorgänge verwendet werden sollen, welche mathematischen Funktionen Sie benötigen, wann und wie man verzweigt, und dann alles ordentlich und lesbar halten.
Das ist alles, was wir heute dafür teilen Schreibwarenhändler Führung. Dieser Leitfaden wurde ursprünglich erstellt und geschrieben von whythecynic. Für den Fall, dass wir diesen Leitfaden nicht aktualisieren können, Sie können das neueste Update finden, indem Sie diesem folgen Verknüpfung.
Hallo,
Ich suchte nach einem detaillierten und erklärten Beispiel für IC-Code, und ich finde deine sehr klar! Vielen Dank, dass Sie sich die Zeit dafür genommen haben.
Tolles Tutorial!
Danke! Sehr detailliert und klar.