Hallo Leute, wird das While portb.4 = 0 ausgeführt (Pin gelesen und dann entschieden) oder nicht. Gruss Kurt
heureka es funzt, Hallo Andi, danke für die schnelle und richtige Antwort. Gruss Kurt
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
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
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
Danke für die Antwort , ja so geht es natürlich auch, aber bei beiden Lösungen verbraucht man halt mehr Ram aber wens halt sein muß .....und mans weis. Nur so eine Rechenfehler erstemal finden .....ist ja das Problem Gruß HansHans
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.