PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Codebeispiele auf CD



MesoBoB
27.01.2005, 13:21
Hallo,
ich habe jetzt seit drei Tagen den RP5 und hab jetzt eine Frage zu den Codebeispielen auf CD.
Undzwar verstehe ich die Definitionen die zwischen "I/O Ports" und "init"
nicht so wirklich.

Ich habe auch keine Erklärung dazu auf der CD gefunden oder bin ich einfach nur blind?

Danke schonmal im Voraus
Flo

Dirk
27.01.2005, 19:52
Hallo Flo,

Die typischen Initialisierungen des Robby sind:

1. Subsystem einschalten:
gosub SUBSYS_PWR_ON

2. Alle LEDs auf Robby ausschalten:
gosub LEDSOFF

3. ACS initialisieren:
gosub NO_ACS_INT:sys ACS_HI (ohne Interrupt, mittlere Empfindlichkeit)
...oder:
interrupt ACS_INTERRUPT:gosub ACS_INT_200:sys ACS_MAX (mit Interrupt, hohe Empfindlichkeit)

4. IR-COMM initialisieren:
gosub RC5 (ohne Interrupt, Datenformat RC5)
...oder:
interrupt IRCOMM_INTERRUPT:gosub REC80_INT (mit Interrupt, Datenformat REC80)

5. Antrieb initialisieren:
REV_L=on:REV_R=on:sys PLM_SLOW (immer!!!)

6. Weitere Initialisierungen sind ggf. für Ports o.ä. nötig.

Davor stehen die Definitionen:
Ports (port[x]), AD-Wandler (ad[x]), DA-Wandler (da[x]), Variablen (byte[x]...), Konstanten (z.B. define PLM_SLOW &H01C4).

Gruß Dirk

MesoBoB
27.01.2005, 21:46
Danke erstmal für die Antwort!

Also kann ich die ganzen Definitionen fürs erste ignorieren und so lassen???
Weil ich versteh die momentan leider nur teilweise 8-[

MfG Flo

GaronG
28.01.2005, 08:01
Hallo Flo,
die Definitionen, die vor dem "init"-Kapitel sind die Einsprungadressen für Systemroutinen, die am Ende des Prgramms mit dem Befehl "syscode p5drive.s19" in den Robby geladen werden. Der Zugriff im Programm erfolgt über den Befehl SYS. Es ist etwas verwirrend, da in allen Beispielen immer ALLE Definitionen angegeben werden, auch wenn sie im entsprechenden Programm nicht gebraucht werden. Wenn du den Treiber des Robbys nicht verändern willst, kannst du diese Definitionen auch in deinen eigenen Programmen unverändert übernehmen.

MfG
GaronG

MesoBoB
28.01.2005, 09:52
Danke für die Antwort GaronG, jetzt hab ichs kapiert :idea: . Da der Treiber denk ich ja mal in Assembler geschrieben ist, werd ich an dem auch erstmal nicht rumfummeln!

MfG MesoBoB