- LiFePO4 Speicher Test         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 28 von 28

Thema: Library für Bascom erstellen

  1. #21
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Anzeige

    Powerstation Test
    @Rage-empire
    Da hast du schon recht, Bascom sollte seine Libraries auch selbst erzeugen können. Bei GCC geht das ja auch und in jeder (?), sagen wir den meisten anderen Sprachen.
    Was ich fürchte, daß das Haupt-Klientel von Bascom junge Einsteiger sind, die, wenn sie sich als Fortgeschrittene dann ernsthaft solche Libraries wünschen, eh schon auf C oder sonstwas umgestiegen sind.
    Und mit ein paar zerquetschten Power-Usern macht man nicht viel Geschäft.
    (Ist aber vielleicht ungerecht)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  2. #22
    Erfahrener Benutzer Roboter Experte Avatar von Rage_Empire
    Registriert seit
    10.03.2005
    Ort
    Pforzheim
    Beiträge
    710
    Nein, momentan ist der Source noch so gecschriebn, das die Routinen via Gosub abgefragt werden. Mcht das überhaupt einen Unterschied, ob mit Gosub oder Declare?

    Weil Gosub -> Go Sub ??

    @PicNick: Ja, glaube da hast du recht. Ich selbst komme aus der 8051er ecke und habe erst mit AVRs (habe mich erst mit Pic versucht, aber von 8051er auf Pic...ohgottohgott!!!) angefangen. ASM mit 51er ist nicht mit AVR-ASM vergleichbar, deswegen benuzte ich Bascom. Bis jetzt fahre ich damit auch ganz gut, bis auf solche Grenzen eben.......leider.

  3. #23
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Der Unterschied GOSUB und Call sub ist der, daß "gosub" ein einfacher assembler-call auf den Label ist, während bei deklarierten Funktions oder Sub's der ganze Software-Call-Mechanismus losgetreten wird.
    (Nicht verwechseln mit GOTO, sowas ist bähh)

    Kurzum: wenn eine Routine keine call-Argumente braucht und auch keine lokalen daten, isses besser (kürzer), du macht gosub draus

    Nachteil bei all dem: auch wenn du garnicht hinspringst, jeder call oder gosub erzeugt eine Referenz auf die Routine, und dann ist sie auch schon dabei im Endprodukt


    PIC's hab ich zwar, mach' aber nix mehr. das BANK-Gewurstel und der Brenner-x Kult haben mir den Nerv gezogen.
    Bascom verwend' ich, weil er sehr angenehm für's prototyping ist, man schreibt einfach in den Schirm hinein, was einem grade einfällt und drückt ab.
    Wegen diesen Features, die ich schätze, möcht ich ja auch ein bißchen Tools dafür machen, um eben das Zeugs ein bißchen aufzupeppen für größere Geschichten.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #24
    Erfahrener Benutzer Roboter Experte Avatar von Rage_Empire
    Registriert seit
    10.03.2005
    Ort
    Pforzheim
    Beiträge
    710
    PIC! ja, das Bankgewurstel... zu wenig ASM- Befehle (Da mußt ja alles selber schreiben)...... Nee, nichts für mich. Ja, das mit Bascom bin ich Deiner Meinung

  5. #25
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.11.2004
    Ort
    Hard, Vorarlberg
    Beiträge
    155
    Solange Du nicht Werte (Parameter) zur Verarbeitung übergeben willst ist da im eigentlich kein Unterschied.

    Die zu wählende Variante hängt davon ab, ob in dem Unterprogramm Variablen (Informationen) aus dem Hauptgramm zu verarbeiten sind und ob es ein (oder mehrere) Rückgabewerte an das Hauptprogramm gibt.

    Ein einfaches Beispiel:

    Long1 = Val(String2)

    Die Funktion Val konvertiert eine Nummer in einem Text in eine Nummerische Variable (z.B. Long). Mit dieser nummerischen Variable kann dann gerechnet werden. Wäre dieser Programmteil Val über ein GOSUB anzusprechen, dann müsste vorher der umzustellende String in eine Stringvariable kopiert werden, welche im Val Programmteil verwendet wird, da der Programmteil ja nur eine fixe globale Variable behandeln kann. Diese macht dann die Umwandlung dann in eine andere fixierte globale nummerische Variable (z.B. LONG). Nach Beendigung des Val Unterprogrammteiles müsste dann das Hauptprogramm den Wert wieder aus der num. Variablen herauskopieren, falls er noch länger gebraucht wird. Für jede Funktionaltät müsste SRAM reserviert werden.
    Diese Variablen, mit welchen der Programmteil Val arbeitet, wären nur von diesem verwendbar und die String-Variable müsste dann auch auf den grössten vorkommenden String ausgelegt sein.

    Wird aber eine FUNCTION oder SUB (wenn es keinen Rückgabewert gibt) verwendet, werden nur Zeiger auf die Variablen übergeben (bei byVal wird der Wert in einen temporären Speicherbereich Frame kopiert). Diese Zeiger verweisen auf die eigentlichen Variablen.
    Der Code ist dann flexibler zu verwenden und braucht im allgemeinen weniger SRAM.

    Ich hoffe, ich konnte Dir den Unterschied an diesem zugegebenermaßen etwas drastisch dargestellten Beispiel (worst case) klar machen.
    Es hängt also immer davon ab, welche Informationen hat das Unterprogramm zu verarbeiten und was liefert es an das Hauptprogramm zurück.
    Viele Grüße
    Josef
    -------------------------------------------------------------------------------------
    DOS-File System für BASCOM-AVR auf http://members.aon.at/voegel

  6. #26
    Erfahrener Benutzer Roboter Experte Avatar von Rage_Empire
    Registriert seit
    10.03.2005
    Ort
    Pforzheim
    Beiträge
    710
    Hm, also mit denen Vielen Variablen ist es glaub ich einfacher Gosub zu benutzen.

  7. #27
    Erfahrener Benutzer Roboter Experte Avatar von Rage_Empire
    Registriert seit
    10.03.2005
    Ort
    Pforzheim
    Beiträge
    710
    Apropo Libs...
    ....paßt nicht ganz hier her, aber will kein neuen Thread desswegen aufmachen.....

    gibt es eine Liste mit den Libs (die bei Bascom dabei sind) und für was sie gut sind? Der Lib- Manager sagt über die funktionen und anwendung ja wenig aus.

  8. #28
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.11.2004
    Ort
    Hard, Vorarlberg
    Beiträge
    155
    Mir ist keine solche Liste bekannt. Der erste Anhaltspunkt ist der Name der Lib selbst. Im Header der LIB ist bzw. sollte etwas über den Zweck der LIB beschrieben sein. Du wird also nicht umhin kommen, die LIB einzeln durchzusehen.
    Viele Grüße
    Josef
    -------------------------------------------------------------------------------------
    DOS-File System für BASCOM-AVR auf http://members.aon.at/voegel

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

Solar Speicher und Akkus Tests