- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 8 von 8

Thema: Verständnisfrage zum Subroutinenaufruf

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    25.10.2004
    Ort
    Pinneberg
    Alter
    64
    Beiträge
    48

    Verständnisfrage zum Subroutinenaufruf

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ich verwende das RNKEYLCD-Modul. Dazu wird ja auch ein bisschen Beispielcode mitgeliefert.
    Ich habe da bei einem Codeabschnitt leichte Verständnisprobleme.
    Es handelt sich um eine Interruptroutine, die ihrerseits eine Subroutine (ist auch als Sub definiert).
    Kann eine Subroutine ohne Call aufgerufen werden? So steht es nämlich im Code:

    Tasten_interrupt:
    Taste = Rnlcd_getscan()
    If Taste <> 0 Then 'Wurde Taste gedrückt
    Stemp = "Taste: " + Str(taste)
    Rnlcd Stemp
    Rnlcd_cr
    End If
    Return

    Rnlcd und Rnlcd_cr sind die besagten Subroutinen. Bascom meckert darüber auch nicht beim Compilieren.
    Kann mir da jemand weiterhelfen?


    Bei einer I

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.12.2004
    Alter
    70
    Beiträge
    277

    Re: Verständnisfrage zum Subroutinenaufruf

    Zitat Zitat von roboguy
    Kann eine Subroutine ohne Call aufgerufen werden?
    Yepp, das geht problemlos .
    Ich schreibe das Call zwar immer noch mit, das liegt aber nur daran, daß ich mir einbilde, dann später mein eigenes Geschreibsel besser memorieren zu können. Nötig ist es aber nicht.

    Grüße
    Henrik

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    Wolltest du nicht von uns gehen, Henrik?
    Dein 66er Beitrag sollte doch der letzte sein!

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    das ist das eigenartige bei bascom. keine einheitlichkeit. die anfänger haben dann schwierigkeiten das nachzuvollziehen.
    seltsamerweise kann man die anderen "call" nicht weglassen.
    hier ist noch nachholbedarf des herstellers gefragt.
    mfg pebisoft

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.12.2004
    Alter
    70
    Beiträge
    277
    Zitat Zitat von pebisoft
    das ist das eigenartige bei bascom. keine einheitlichkeit. die anfänger haben dann schwierigkeiten das nachzuvollziehen.
    seltsamerweise kann man die anderen "call" nicht weglassen.
    hier ist noch nachholbedarf des herstellers gefragt.
    Ja hört denn das nie auf?

    Welche anderen "Call"? Was genau ist an dem Hilfetext für Anfänger "schwierig"?:

    With the CALL statement, you can call a procedure or subroutine.
    For example: Call Test2


    The call statement enables you to implement your own statements.

    You don't have to use the CALL statement:
    Test2 will also call subroutine test2


    When you don't supply the CALL statement, you must leave out the parenthesis.
    So Call Routine(x,y,z) must be written as Routine x,y,x


    Wenn die Anwender öfter einen Blick in die Hilfe werfen würden, gäbe es manche Fragen schlicht nicht.


    Henrik

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    es ist blödsinn hoch 3 wenn eine sub-routine mit call aufgerufen werden muss und die für den interrupt nicht obwohl die als sub declariert wird. da nützen auch keine ausreden wie: schau doch mal hier nach und schau doch mal da nach. es ist halt fakt, das hier keine gleichheit herrscht.
    da nützt auch kein meckern und auch kein rumschreien von angeblich geistig wendigen schwachmaten.
    mfg pebisoft

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.08.2005
    Ort
    Giessen
    Alter
    46
    Beiträge
    105
    um es mal abzukürzen: es kann immer mal passieren, wenn man nicht Hardwarenah proggt, dass in der IDE Sachen vereinheitlicht werden, die aber -in der Wirklichkeit - nicht zusammen gehören. So ist das auch mit Sub vs. Interrupt. Deshalb hierüber Diskussionen zu führen wird nicht viel bringen, da die Hardware nun mal das bleibt, was sie ist. In Bascom kann man sich in diesen Punkten der Hardware auch nicht entziehen, muss man halt lernen. Dafür wird der Rest des HW-nahen proggens in Basic nicht benötigt.

    hrei: auch ich kenne - und unterstütze- den RTFM, aber da die meisten hier proggen selber beigebracht haben, und über die manchmal -zugegeben- "unlogischen" Stolpersteine fallen, denke ich, dass wiederkehrende Fragen sehr wohl kommen dürfen, solange es nicht übertrieben wird. musst sie ja nicht beantworten, dann findet sich ein anderer, der sie beantwortet. Vielleicht sieht er die Frage zum ersten mal.... So als Bsp:selbst in VBA kannst du Sub´s ohne call aufrufen, solange du nur max. ein Wert übergibst. Sobald Du aber mehrere Parameter zum Übergeben deklarierst geht one Call nichts mehr. (ohne jetzt weiter auszuführen, wieso nicht)

    Schöne Grüße:
    Z

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.12.2004
    Alter
    70
    Beiträge
    277
    Zitat Zitat von Carbolo
    hrei: auch ich kenne - und unterstütze- den RTFM, aber da die meisten hier proggen selber beigebracht haben, und über die manchmal -zugegeben- "unlogischen" Stolpersteine fallen, denke ich, dass wiederkehrende Fragen sehr wohl kommen dürfen, solange es nicht übertrieben wird. musst sie ja nicht beantworten, dann findet sich ein anderer, der sie beantwortet. Vielleicht sieht er die Frage zum ersten mal....
    Da sind wir uns völlig einig, allergisch reagiere ich erst, wenn man die Quellen angibt, unter denen sich der Fragesteller selbst belesen kann und darauf besteht, daß ihr/ihm komplexe Zusammenhänge bei Adam und Eva anfangend, in einer Art Privattutorial vorgelesen werden.
    So als Bsp:selbst in VBA kannst du Sub´s ohne call aufrufen, solange du nur max. ein Wert übergibst. Sobald Du aber mehrere Parameter zum Übergeben deklarierst geht one Call nichts mehr. (ohne jetzt weiter auszuführen, wieso nicht)
    Jeder Programmiersprachendialekt hat seine Eigenheiten. In dem hier zur Debatte stehenden Fall kann es, weil die meisten Programmbeispiele das Call nutzen, durchaus zu Missverständnissen kommen. Das ist hier auch kein Problem und die Frage wurde von mir zunächst auch ohne jeden Seitenhieb beantwortet.

    Wenn dann aber jemand kommt und Bascom die Schuld für die Wissenslücken/das mangelnde Lesen der Hilfe gibt, ist das lediglich blinde Hetze.

    Grüße
    Henrik

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress