So ein Microcontroller kennt keine LEDs, Motoren, Optokopler usw., er kennt nur seine PINs.Ja, den Code hab ich auch, aber kannst du mir nur mal den Code rausschreiben, den man nur zum Aufleichten eines Leds braucht??
Also wenn das Programm started soll einfach nur 1 LED angehen.
D.h. wenn du eine LED die an einem dieser PINs angeschlossen ist einschalten willst, musst du dem Controller sagen, welchen PIN er schalten soll.
Damit man nicht immer im Schaltplan nachsehen muss, was an welchem PIN angeschlossen ist und dann im Datenblatt nachsehen muss, wie man diesen PIN schaltet, haben die Entwickler vom Robby eine Reihe an Funtionen, Alias-Namen usw. definiert.
Um das dann noch ein bischen übersichtlicher und verständlicher zu machen haben die Entwickler zusätzlich Kommentare und Trennlinien eingefügt.
Das sind Zeilen die mit einem "Hochkomma" anfangen, die werden vom Robby komplett ignoriert.
Um die LED1 zu schalten gibt es z.B. die Funktionen LED1ON und LED1OFF.
Das heisst, du brauchst nur diese Funktionen aufrufen:
gosub LED1ON ' schaltet LED1 an
gosub LED1OFF ' schaltet LED1 aus
Damit das Programm dann "weiss" was du von ihm willst, müssen die entprechenden Funktionen natürlich im Programmcode enthalten sein.
Praktisch bedeutet das, dass du am besten einfach ein komplettes Beispielprogramm mit allen definierten Funktionen usw. nimmst und dann deinen eigenen Teil zwischen die dafür vorgesehenen Zeilen schreibst:
Wo dein eigenen Code rein soll ist in den Beispielen ja ziemlich deutlich gekennzeichnet:
'--------------------------------------------
' Hier kommt dein Programm rein - Anfang ----
gosub LED1ON
'-------------------------------------------
' Hier kommt dein Programm rein - Ende ----
Wenn du dann nachvollziehen willst was dadurch im Programm passiert, kannst du dir die auferufenen Funktionen und Definitionen im Code ansehen und versuchen den Programmablauf nachzuvollziehen.
Theoretisch könntest du dann alle vorgegebenen Definitionen, Funktionen usw. die du in deinem Programmteil nicht aufrufst aus dem Quelltext löschen.
Ob das bei CBasic Sinn macht weiss ich nicht, bei einer Compilersprache würde es keinen machen, da ein Compiler normalerweise von sich aus nur die Funktionen übersetzt die verwendet werden.
Anfangs würde ich erst mal nichts von den vordefinierten Funktionen usw. rauswerfen sondern nur dein eigenes Programm zwischen die dafür vorgesehenen Zeilen schreiben.
Wenn du dich eingearbeitet hast und irgendwann mal die ganz harte Tour fahren willst, kannst du dir die Datenblätter, Schaltpläne usw. schnappen und dein Programm mit einem komplett leeren Quelltext anfangen.
Lesezeichen