-         

Ergebnis 1 bis 5 von 5

Thema: PICAXE und BASIC Befehlsliste > BASIC Commands

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    17.07.2005
    Beiträge
    73

    PICAXE und BASIC Befehlsliste > BASIC Commands

    Anzeige

    Hallo Leute

    ich arbeite seit geraumer Zeit mit den wirklich phantastischen PICAXE-08M und den -18X. Das macht richtig Spaß mit dem Mikrokontroller, und ich habe schon viele Programme geschrieben.

    Was mir nun auffiel ist, daß nach der original englischen Befehlsliste einige Basic_Befehle innerhalb einer Programmroutine nicht angenommen werden.
    Wer von Euch hat das auch schon festgestellt ?
    Bitte melden, damit wir uns austauschen können.

    Hier mal ein Beispiel:

    {LET} variable = {-} value ?? value ...

    setze ich z.B.: let x = 1/2

    und will diesen Parameter in einer späteren Formel weiterverarbeiten, tut sich nichts.

    Setze ich dagegen: let = 1,2,3 also ganzzahlige ein, dann klappts !

    oder: let x= 1.5 geht auch nicht, obwohl es angegeben wird.

    > Original Basic Commands (S.13) steht: let w1 = w2 / 5.7
    also müßte es doch mit dem Punkt (Komma) gehen ?

    Gruß Jon

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    15.07.2005
    Ort
    Enns
    Alter
    32
    Beiträge
    129
    vielleicht liegt es daran, dass der uC keinen floating point prozessor besitzt und somit nur ganzzahlige werte (integer) verarbeiten kann...

    ich bin mir fast sicher, wenn du schreibst
    b0 = 5/2,
    dass da 2 raus kommt und das 0,5 wegen des integers weggeschnitten ist...

    mfg

  3. #3
    Gast
    Hallo,
    ja das kann durchaus sein, das mit dem Floatingpointprozessor.
    Aber wenn ich im Originalbefehlstext nachlese, dann muss das funktionieren, oder es gibt zweierlei µP, die einen die das verarbeiten können (neuere) , und die anderen die diesen Punkt noch nicht richtig interpretieren (ältere) können.


    Hier mal die Handbuchseiten:
    # PICAXE Manual - Section 1 - Getting Started
    http://www.rev-ed.co.uk/docs/picaxe_manual1.pdf
    # PICAXE Manual - Section 2 - BASIC Commands
    http://www.rev-ed.co.uk/docs/picaxe_manual2.pdf
    # PICAXE Manual - Section 3 - Interfacing circuits
    http://www.rev-ed.co.uk/docs/picaxe_manual3.pdf
    # PICAXE-18 Tutorial
    http://www.rev-ed.co.uk/docs/axe002_tutorial.pdf

    Im Handbuch Basic Commands Seite 41 steht der Befehl "let" wo auch Angaben zu Zahlen sind, die Kommawerte enthalten. Dieser Befehl gilt laut Angabe für alle PICAXE Typen.

    Gruß

  4. #4
    Gast
    Hallo,

    auf der zitierten Seite 41 (Basic Commands) steht:

    The microcontroller supports word (16 bit) mathematics. Valid integers are 0 to
    65335. All mathematics can also be performed on byte (8 bit) variables (0-255).
    The microcontroller does not support fractions or negative numbers.

    However it is sometimes possible to rewrite equations to use integers instead of
    fractions, e.g.
    let w1 = w2 / 5.7
    is not valid, but
    let w1 = w2 * 10 / 57
    is mathematically equal and valid.
    Das heißt eben dass es nicht geht. Bei allen PICAXE wird nur die Integerarithmetik unterstützt, was ja in den meisten Fällen auch ausreicht.
    Operationen mit gebrochenen Zahlen werden definitiv nicht angeboten.

    Viele Grüße
    Jörg

  5. #5
    Gast
    Hallo Gast,
    da habe ich doch tatsächlich etwas übersehen, bzw. nicht alles so übersetzt, daß mir das dann aufgefallen wäre. Danke, ich wusste, daß es hier Hilfe gibt, und 4 Augen sehen bekanntlich mehr als zwei. Vielleicht gibt es doch noch eine andere Möglichkeit solche mathematischen Zusammenhänge zu umgehen.

    Gruß Jon

Berechtigungen

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