BASCOM AVR-Befehl

Gast #149348
Bitteschön!
Aber ich hoffe, Du hast den Hintergrund verstanden.
PORTn,x ist immer Port direkt schalten bzw. auf high oder low setzen.
PINn,x ist immer aktuellen Zustand des Ports abfragen, also prüfen, ob
ein Port-Pin high oder low ist.

Gruß
Andi
Gast #149349
Hallo,
da das ja jetzt schon gelöst ich habe ich auch eine Frage
und mache nicht extra einen Neun Threade auf.
ich habe ein Problem mit dem Mod Befehl ab 255


Dim X As Byte
Dim Y As Integer

Y =256
X = Y Mod 6
Print X
Jetzt steht in X    -- > 0 das mußte aber 4 sein

Was läuft da  falsch ? das Problem ist  ab dem Übergang 255/256 ?

Bei X=Y Mod 8 ist alles OK ...

oder auch bei :
Dim X As Byte
Dim Y As Integer
Dim Hilfe As Integer

Y =256
Hilfe = Y Mod 6
X = Hilfe
Print X
......stimmt das Ergebnis


Danke für eine Aufklärung
Gast #149350
Das liegt wahrscheinlich daran, das BASCOM keine korrekte Division mit
16Bit / 8Bit machen kann was ja bei dem Befehl MOD passiert.
In Deinem 2. Beispiel mit der Hilfsvariable wird eine 16Bit / 16Bit
Division gemacht und dann einfach die unteren 8 Bits von Hilfe nach X
kopiert.

So müßte es funktionieren:

Dim X As Integer
Dim Y As Integer

Y =256
X = Y Mod 6
Print X

Gruß
Andi
Gast #149351
Danke für die Antwort ,
ja so geht es natürlich auch, aber bei beiden Lösungen
verbraucht man halt mehr Ram
aber wen‘s halt sein muß .....und man‘s weis.

Nur so eine „Rechenfehler“ erstemal finden .....ist ja das Problem

Gruß HansHans
Gast #149352
Vielleicht gibt es in BASCOM eine Funktion um eine 8Bit-Variable
temporär in eine 16Bit-Variable zu erweitern.
Kenn mich zwar unter anderem mit Basic aus aber nicht speziell mit
BASCOM da ich nur ASM-Code in meine µC quetsche (wesentlich sparsammer
und effizienter).

Vielleicht gibs in BASCOM sowas wie "int(X) = Y Mod 6" oder so was,
keine Ahnung.
Blätter einfach mal die Online-Hilfe durch.

Gruß
Andi

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.