Aktuell kommt es zu Probleme mit dem Email Versand dies wird schnellstmöglich behoben.

stationeers.de Mod-Werkstatt · Dominik1199
EN Anmelden
  1. Start
  2. IC10-Akademie
  3. define und alias: Code mit Namen

Kapitel 3 · Entscheidungen & Stil

define und alias: Code mit Namen

Feste Werte und Register bekommen Namen – der Aufbau, den Dominik in jedem Chip benutzt.

Lektion 9 von 18 10 Min.

sgt r1 r0 303.15 – was war nochmal r1? Und warum 303.15? In drei Wochen weiß das niemand mehr. Zwei Befehle schaffen Ordnung.

define: Namen für feste Zahlen

define GRENZE 303.15   # 30 C

Überall, wo danach GRENZE steht, setzt der Chip 303.15 ein. Ein define kostet kein Register und wird nie verändert. Ideal für Sollwerte, Schwellen und später für Gerätetypen.

alias: Namen für Register und Pins

alias temp r0
alias sensor d0

Jetzt darfst du temp statt r0 und sensor statt d0 schreiben. Ein alias auf einen Pin erscheint übrigens auch an den Schrauben des Gehäuses.

Der Aufbau, der sich bewährt hat

# --- Hitzewarnung ---
# --- 1. Einstellungen ---
define GRENZE 303.15     # 30 C
# --- 2. Register und Geraete ---
alias sensor d0
alias licht d1
alias temp r0
alias heiss r1
# --- 3. Hauptschleife ---
start:
yield
l temp sensor Temperature
sgt heiss temp GRENZE
s licht On heiss
j start

Erst define, dann alias, dann die Hauptschleife mit yield. Jede Zahl, die man später einstellen will, steht oben mit Kommentar – im Rumpf stehen nur noch Namen.

Tipp

Kommentare zählen voll zum 4096-Zeichen-Limit. Kurze, treffende Kommentare schlagen lange Prosa. Notfalls hilft die „Spielfassung“ im IC10-Coder.

Hinweis

Ein define-Wert darf eine Zahl, eine Konstante oder HASH("…") sein – aber kein anderer define-Name. Das Spiel setzt dann still NaN ein.

Schaubild

Aufbau eines Programms im bewährten Stil # --- Hitzewarnung --- define GRENZE 303.15 # 30 C define SENSOR HASH("…") alias temp r0 alias heiss r1 start: yield … j start 1 · define alles Einstellbare 2 · alias Namen für Register 3 · Hauptschleife mit yield, endlos
Der bewährte Aufbau: oben define-Block mit Kommentaren, darunter alias-Block, dann die Hauptschleife mit yield.

Übung

Aufgabe

Der Code unten funktioniert, ist aber kaum lesbar. Bau ihn um, ohne das Verhalten zu ändern:

  • Die Grenze 303.15 bekommt ein define mit Kommentar.
  • Jedes benutzte Register bekommt einen alias.
  • Im Rumpf steht keine rohe Zahl 303.15 und kein nacktes r0/r1 mehr.

Hinweise

Hinweis 1

define GRENZE 303.15 # 30 C ganz oben.

Hinweis 2

Danach alias temp r0 und alias heiss r1 – dann im Rumpf r0 durch temp und r1 durch heiss ersetzen.

Hinweis 3

Die Pins dürfen auch einen alias bekommen: alias sensor d0.

Esc
↑ ↓ wählenEnter öffnen/ öffnet die Suche überall