Hallo
Ich habe Dein Prog mal im Simulator getestet.
So funktionierte es nicht. Ich habe dabei auch ein paar Schreibfehler von mir entdeckt.
Print ohne =
und Elseif wird natürlich zusammen geschreiben
als Hinweis noch , die regfiledateien enden meistens mit "dat"
also hier dann der Code wie er im Simulator funktioniert
Wenn Du , um es im Simulator zu testen, als erste Zeile $SIM einfügst, läuft es schneller. Bevor Du es aber in den MicroC überträgst, müßt Du das wieder entfernen.Code:$regfile = "m8def.dat" $crystal = 3686400 'Quarz: 3.6864 MHz Ddrd = &B0000000 'eingänge Ddrc = &B1111111 'ausgänge Portd = 2 'PD0-PD7 = Sensoren 'PC0-PC7 = Motorsteuerung Baud = 9600 Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 1 Dim X As Bit Do X = Pind.1 If X = 0 Then Print "Kein Stein an Position 1" Elseif X = 1 Then Print "Stein an Position 1" End If Loop End
Das Elseif, das ich beim erstenmal genommen habe, ist natürlich quatsch, da ja ein Bit nur 2 Zustände haben kann.
Die Variable x, habe ich deshalb eingesetz, weil die Abfraqe mit Pind.1 einfach nicht funktionieren wollte , weiß bis jetzt aber noch nicht genau warum.
Ich habe auch mal select case probiert, der Vorteil hier man kann dadurch mehrere Tasten auf einmal bestimmen.
Bsp.
SELECT CASE Pind
CASE 0
Print "Keine Taste"
CASE 1
Print "Taste 1"
CASE 2
Print "Taste 2"
CASE 3
Print "Taste 1 +2"
END SELECT
Mir ist dabei aber was seltsames aufgefallen, uzw. hat x immer den entgegengesetzen Wert von Pind.1 (d.h ist Pind.1=0 dann ist x=1)
vielleicht hat ja mal jemand darauf eine Antwort , würde mich sehr interessieren.
Gruß Andreas







Zitieren

Lesezeichen