Hallo, irgendwie bekomme ich es nicht hin das ich auf meinen myAVR mk2 Board ein Taster einlesen kann... hier mein Programm $regfile = "m8def.dat" $crystal = 3690000 Config Portb = Output Config Portc = Input Config Portc = 1 Do If Portc = 0 Then Portb = 1 Else Portb = 0 End If Loop End
Tx schrieb: > Hallo, > > irgendwie bekomme ich es nicht hin das ich auf meinen myAVR mk2 Board > ein Taster einlesen kann... > If Portc = 0 Then Eingelesen wird über das Pin Register PORTx Ausgänge schalten (oder Pullup ein/aus schalten) PINx Eingänge einlesen
tut sich immer noch nichts! $regfile = "m8def.dat" $crystal = 3690000 Config Portb = Output Config Pinc.5 = Input Config Portc = 1 Do If Pinc.5 = 0 Then Portb = 1 Else Portb = 0 End If Loop End
Tx schrieb: > tut sich immer noch nichts! Ich bin zwar kein BASCOM spezialist, aber ich würde mal sagen > Config Pinc.5 = Input > Config Portc = 1 da beeinflusst das eine das andere und die beiden hängen irgendwie miteinander zusammen :-)
> Config Pinc.5 = Input > Config Portc = 1 Wenn die 2. Zeile die den internen Pullup-Widerstand für Pinc.5 aktivieren soll, tut er das nicht. Die Zahl 1 ist falsch.
Stefan B. schrieb: >> Config Pinc.5 = Input >> Config Portc = 1 > > Wenn die 2. Zeile die den internen Pullup-Widerstand für Pinc.5 > aktivieren soll, tut er das nicht. Die Zahl 1 ist falsch. wenn ich die zahl aber weglasse komplimiert er mir das aber nicht
Tx schrieb: > Stefan B. schrieb: >>> Config Pinc.5 = Input >>> Config Portc = 1 >> >> Wenn die 2. Zeile die den internen Pullup-Widerstand für Pinc.5 >> aktivieren soll, tut er das nicht. Die Zahl 1 ist falsch. > > wenn ich die zahl aber weglasse komplimiert er mir das aber nicht es heisst compiliert zweitens, was soll die zweite Zeile eigentlich bezwecken?
Karl heinz Buchegger schrieb: > Tx schrieb: >> Stefan B. schrieb: >>>> Config Pinc.5 = Input >>>> Config Portc = 1 >>> >>> Wenn die 2. Zeile die den internen Pullup-Widerstand für Pinc.5 >>> aktivieren soll, tut er das nicht. Die Zahl 1 ist falsch. >> >> wenn ich die zahl aber weglasse komplimiert er mir das aber nicht > > es heisst compiliert > zweitens, was soll die zweite Zeile eigentlich bezwecken? die 2 te zeile soll bezwecken das die internen pullup widerstände aktiviert werden!
>>Config Pinc.5 = Input >>Config Portc = 1 So kann das nicht funktionieren. Da setzt du den PIN zuerst auf Eingang und dann wieder auf Ausgang. Schreibe lieber folgendes: Config Pinc.5 = Input Portc = 1
Samuel C. schrieb: >>>Config Pinc.5 = Input >>>Config Portc = 1 > > So kann das nicht funktionieren. Da setzt du den PIN zuerst auf Eingang > und dann wieder auf Ausgang. > Schreibe lieber folgendes: > > Config Pinc.5 = Input > Portc = 1 du meinst so richtig ? $regfile = "m8def.dat" $crystal = 3690000 Config Pinc.5 = Input Portc = 1 Config Portb = Output Do If Pinc.5 = 0 Then Portb.3 = 1 Else Portb = 0 End If Loop End
Weglassen hat niemand empfohlen. Es gibt ja noch andere Zahlen als die Eins: Mindestens 128 mögliche und eine sinnvolle. Tipp: Was bedeutet denn das .5 bei der ersten Zeile oder das .3 bei dem Schalten der LED?
Stefan B. schrieb: > Weglassen hat niemand empfohlen. Es gibt ja noch andere Zahlen als die > Eins: Mindestens 128 mögliche und eine sinnvolle. Tipp: Was bedeutet > denn das .5 bei der ersten Zeile oder das .3 bei dem Schalten der LED? Das sind meine jeweiligen Ausgangs PIN´s
Nee, Pinc.5 ist doch kein Ausgangspin, sondern dein Eingangspin! Portb.3 ist ein Ausgangspin und zwar der für die LED. Den schaltest du mit 1 auf HIGH Pegel und mit 0 auf LOW Pegel. Wenn du jetzt den internen Pullup-Widerstand schalten willst, der dem Pinc.5 zugeordnet ist... Und wenn du durch Nachlesen im Datenblatt oder im AVR-Tutorial heraus findest, dass man den Pullup-Widerstand von Pinregistern über deren Portregister schaltet... was hälst du von diesen Zeilen: Config Pinc.5 = Input Portc.5 = 1 oder Config Pinc.5 = Input Portc = 32 oder Config Pinc.5 = Input Portc = &B00100000 Die letzten beiden Anweisungen erklären sich mit dem Artikel Bitmanipulation.
Stefan B. schrieb: > Nee, Pinc.5 ist doch kein Ausgangspin, sondern dein Eingangspin! > > Portb.3 ist ein Ausgangspin und zwar der für die LED. Den schaltest du > mit 1 auf HIGH Pegel und mit 0 auf LOW Pegel. > > Wenn du jetzt den internen Pullup-Widerstand schalten willst, der dem > Pinc.5 zugeordnet ist... > > Und wenn du durch Nachlesen im Datenblatt oder im AVR-Tutorial > heraus findest, dass man den Pullup-Widerstand von Pinregistern über > deren Portregister schaltet... was hälst du von diesen Zeilen: > > Config Pinc.5 = Input > Portc.5 = 1 > > oder > > Config Pinc.5 = Input > Portc = 32 > > oder > > Config Pinc.5 = Input > Portc = &B00100000 > > Die letzten beiden Anweisungen erklären sich mit dem Artikel > Bitmanipulation. Okay, danke es geht habe es hinbekommen!
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.