- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 6 von 6

Thema: Frage zu Unterprogrammen mit Bascom und Timer

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    12.12.2008
    Beiträge
    27

    Frage zu Unterprogrammen mit Bascom und Timer

    Anzeige

    E-Bike
    Hallo,

    Ich habe nur zwei relativ einfache Fragen, habe im Wiki leider auf die Schnelle nichts gefunden.

    1.) Ich habe einen Timer, der mir in festen Zeitabständen Werte von einem Sensor liefert. In bestimmten Programmteilen möchte ich den Timer allerdings deaktivieren, also keine neuen Werte bekommen.
    Ist der kritische Programmcode übersprungen soll der Timer wieder wie zuvor arbeiten. Geht das? Wenn ja, wie?

    2) Ich habe bisher nur kleinere Programme mit Assembler geschrieben und habe da Unterprogramme mit "jmp xxx" aufgerufen. Bei Bascom gibt es aber einige Befehle (GoTo GoSub, Sub...). Was bewirken diese?

    3) Ich steuere mit meinem Programm wie gesagt einen Schrittmotor. Bisher Toggle ich einfach den Clock-Pin der L297/298 Steuerschaltung um einen Schritt zu machen. Nun habe ich hier was von PWM gelesen. Brauche ich das zwangsläufig für Schrittmotoren oder ist meine Lösung auch ok?

    4) Ich habe eine Variable, die sich aus der Differenz von zwei Zahlen zusammensetzt. Diese kann also auch negative Werte annehmen. Wie muss diese Dimensioniert werden? Integer?

    Bei mir sieht das so aus: Ich habe ein Hauptprogramm, dass einen Motor steuert, Hat der Motor dann irgendwann die gewünschte Position möchte ich etwas anderes machen (Unterprogramm?).

    Danke für die Hilfe!

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    zu 1) disable timerx

    zu 2) goto= springe an Programmstelle (schlechter Stil)
    gosub = gehe in Subroutine (Unterprogramm) und springe nach Ausführung desselben wieder an diese Stelle zurück (guter Stil)

    zu 3) Die PWM ist für Schrittmotoren nicht geeignet, Pin toggeln ist besser wie gehabt.

    zu 4) Wertebereich von Byte = 0-255, Word = 0-65535, ineger -32768 bis 32767. Für Vorzeichenbehaftete Ganzzahlen ist ergo Integer richtig.
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    12.12.2008
    Beiträge
    27
    zum Timer:
    Also kann ich in bestimmten programmteilen den Timer deaktivieren und dann par zeilen später wieder aktivieren?
    fängt der Timer dann wieder von vorne an zu zählen, oder macht er da weiter wo er aufgehört hat? muss ich ausser disable timerx / enable timer0 noch was beachten?

    Muss ich bei subroutinen parameter übergeben oder kann ich in der subroutinen die ganz am anfang definierten Variablen überschreiben/bearbeiten?


    DANKE!

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Alles, was du im Bascom mit "DIM" definierst, kannst von von jeder Stelle des Programms aus lesen/ändern.
    ( Im Gegensatz zu "LOCAL" definitionen)
    Eine "Sub" ohne Argumente ist effektiv dasselbe wie eine "GOSUB" Routine.

    Timer deaktivieren: er bleibt stehen, wo er ist und macht dann dort wieder weiter. (die Zeit wir dadurch aber länger, logo)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    12.12.2008
    Beiträge
    27
    letzte Frage:

    Wie viel Zeilen Code entsprechen die 4kb, die man mit der demo verwenden kann?
    Meine Hex-Files sind jetzt schon 5kb, aber die gehen trotzdem noch auf den controller...?!

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    HEx-Files sind etwa 1 Byte prog --> 2 Byte Hexfile + etwas overhead

    Codezeilen versus Kb : kommt bei Hochsprachen immer drauf an, was in der Zeile steht
    Da sind ein paar Beispiele, was Bascom so alles aus Code-Zeilen macht, wenn er gut drauf ist
    https://www.roboternetz.de/wissen/in...om_Inside-Code
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

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

12V Akku bauen