- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 7 von 7

Thema: Wofür ist das gut?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    28.11.2004
    Alter
    38
    Beiträge
    49

    Wofür ist das gut?

    Anzeige

    Praxistest und DIY Projekte
    Das steht immer am Ende der Beispielprogramme! Und ich weiß nicht wofür das eigentlich gut ist und deshalb wollte ich mal fragen ob mir das jemand erklären kann!
    z.B. das hier SUBCMD=1:sys COMNAV:return was bedeutet das!

    '---------- INIT---------------
    gosub SUBSYS_PWR_ON
    beep 368,10,0ause 50
    '---- SYSTEM OPERATION MODE (NO INTERRUPT) ----
    gosub NO_ACS_INT:beep 368,10,0:SYS ACS_LO

    'IIIIIIIIIII LED DRIVER IIIIIIIIIIIIIIIII
    #LED1ON
    LED1_F=on:goto EXTPORT_WRITE
    #LED1OFF
    LED1_F=off :goto EXTPORT_WRITE
    #LED2ON
    LED2_F=on:goto EXTPORT_WRITE
    #LED2OFF
    LED2_F=off:goto EXTPORT_WRITE
    #LED3ON
    LED3_F=on:goto EXTPORT_WRITE
    #LED3OFF
    LED3_F=off:goto EXTPORT_WRITE
    #LED4ON
    LED4_F=on:goto EXTPORT_WRITE
    #LED4OFF
    LED4_F=off:goto EXTPORT_WRITE
    #LEDSOFF
    EXTPORT=EXTPORT and &H0F:goto EXTPORT_WRITE
    #EXTPORT_WRITE
    SYS SYSTEMulse STROBE:RETURN

    'IIIIII SYSTEMROUTINEN COMM/NAV SYSTEM IIIII

    #GET_IRDATA
    SUBCMD=1:sys COMNAV:return
    #SEND_IRDATA
    SUBCMD=0:sys COMNAV:return
    #RC5
    SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFC
    HBYTE=00:SUBCMD=2:sys COMNAV:return
    #RC5_INT
    SUBCMD=4:sys COMNAV:LBYTE= (HBYTE and &HFE)or 2
    HBYTE=00:SUBCMD=2:sys COMNAV:return
    #REC80
    SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H01)and&HFD
    HBYTE=00:SUBCMD=2:sys COMNAV:return
    #REC80_INT
    SUBCMD=4:sys COMNAV:LBYTE= (HBYTE or &H03)
    HBYTE=00:SUBCMD=2:sys COMNAV:return

    'IIIIII SYSTEMROUTINEN SYSTEM IIIIIIIIIIII
    #NO_ACS_INT
    SUBCMD=4:sys COMNAV:LBYTE= HBYTE and &HFB
    HBYTE=00:SUBCMD=2:sys COMNAV:return
    #ACS_INT_200
    SUBCMD=4:sys COMNAV:LBYTE= HBYTE or &H04
    HBYTE=50:SUBCMD=2:sys COMNAV:return
    #SUBSYS_PWR_ON
    sdio=on:sclio=on:strobe=off:EXTPORT=(EXTPORT and &HFE)or 8
    sys SYSTEM:return
    #SUBSYS_PWR_OFF
    EXTPORT=(EXTPORT and &HF7)or 1:sys SYSTEM
    deact sdio:deact sclio:return
    #CLR_DISTANCE
    SUBCMD=3:sys COMNAV:return
    #L_DISTANCE
    SUBCMD=6:sys COMNAV:return
    #R_DISTANCE
    SUBCMD=7:sys COMNAV:return
    Meine Ergebnisse habe ich schon, ich weiß nur noch nicht, auf welchem Wege ich zu ihnen gelangen werde.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.07.2004
    Ort
    Fulda
    Alter
    37
    Beiträge
    183
    SUBCMD=1 => subcmd ist ne variable für irgendwas; es bedeutet das subcmd gleich 1 gesetzt wird; quasi wie z.B. x=1

    sys COMNAV=> mit dem befehl SYS werden glaub ich treiber in den controller geladen, in dem fall COMNAV


    ich weiß net, ob das jetzt alles stimmt; da gibts bestimmt andere (mit Sicherheit!) die das besser wissen und das besser erklären können.

    ansonsten brauch man eigentlich am anfang nicht zu wissen, für was das gut ist; denk ich.
    MfG Jonas

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    15.01.2005
    Beiträge
    80
    Hallo Garret,

    eigentlich gehören noch ein paar Zeilen dazu:

    - syscode 'xxxxx.s19'
    damit wird ein Treiber in den Speicher des Microcontrollers geladen. Diese Anweisung steht meistens am Ende des Programms und ist in einem maschinenählichen Code geschrieben, der im Speicher ab der Adresse H101 geladen wird.

    - define COMNAV &H0154
    der Begriff COMNAV steht jetzt für die Adresse H0154

    -sys COMVAV
    bedeutet: springe auf die Adresse H0154 und führe den Code aus, der dort beginnt (Unterprogrammaufruf)

    - define SUBCMD byte
    reserviere für die Variable SUBCMD schon mal 1 byte, was reinkommt wird später festgelegt

    - SUBCMD= x: sys COMNAV
    SUMCMD ist ein Parameter für den anschließenden Unterprogrammaufruf und sagt dem Unterprogramm, welche Daten und in welcher Form die Ergebnisse des Unterprogramms zurückgeliefert werden sollen. Z.B. SUBCMD = 0 heißt: warte auf ein IR-Ereignis (wenn ich mich recht erinnere).

    Hoffe, ich konnte dir helfen.

    MfG
    GaronG

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    28.11.2004
    Alter
    38
    Beiträge
    49
    Braucht man das denn alles? Geht das Programm nicht ohne den ganzen Kram?
    Meine Ergebnisse habe ich schon, ich weiß nur noch nicht, auf welchem Wege ich zu ihnen gelangen werde.

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.08.2004
    Ort
    Zwolle
    Alter
    68
    Beiträge
    531
    Hallo,

    so weit ich weiss wird die Hauptprocessor entlasstet durch die Coprocessor. (Dass 14-beiniges chip vorne/rechts auf der Robby)

    Die Coprocessor ubernimt 'realtime'/schnelle signal sachen so wie dass ACS und die IR communication.

    Die Hauptprocessor communiziert mit die Coprocessor uber zwei anschliessungen 'clock' und 'data'.

    Bei einem 'sys COMNAV' wird die Inhalt vom SUBCMD, LBYTE und HBYTE seriel mit hilfe von 'clock' und 'data', durch der Hauptprocessor, zu und vom Coprocessor transportiert. (z.B. die gesendete umd empfangene IR daten)

    MfG,

    Henk

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    15.01.2005
    Beiträge
    80
    Hallo Garret,

    der 'ganze Kram' wächst mit deinen Ansprüchen. Du brauchst ihn nicht, wenn du über Hyperterminal nur "Hello World" ausgeben willst. Aber wenn der Robby sich bewegen soll, musst du die entsprechenden Unterprgramme für die Motoren berücksichtigen. Ebenso ist es mit der Sensorik, dem Anti-Kollisionssystem, IR-Kommunikation, Sub-Prozessorsystem usw....

    Aber du hast auch recht. Bei den Beispielen auf der CD sind in JEDEM Beispiel ALLE Resourcen eingebunden, auch wenn diese nicht gebraucht werden. Es steht dir frei, alle aktuell nicht benötigten Programmteile rauszuschmeißen. Macht das Programm schlanker und übersichtlicher. Man muss nur wissen, WAS man tut!

    MfG
    GaronG

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    28.11.2004
    Alter
    38
    Beiträge
    49
    Danke, dann werd ich mal schauen was ich da alles rausschmeiße!
    Meine Ergebnisse habe ich schon, ich weiß nur noch nicht, auf welchem Wege ich zu ihnen gelangen werde.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress