Hey Leute, ich komm hier grad irgendwie nicht weiter.... Und zwar will ich eigentlich nur eine Art Touchpoint programmieren. D.h. ich habe einen IR-Sensor an einem Analogeingag vom uC. Wenn ich den Touchpoint nun berühre soll ein Pin angehn....nochmal berühren = aus. Hier mal mein Quellcode: Config Porta = Input Config Portb = Output Config Adc = Single , Prescaler = Auto , Reference = Off Start Adc Do If Getadc(0) >= 200 And Pinb.0 = 0 Then Pinb.0 = 1 End If If Getadc(0) >= 200 And Pinb.0 = 1 Then Pinb.0 = 0 End If Loop End Also eigentlich nicht viel was man falsch machen kann^^ Hardwaretechnisch ist alles ok, denn wenn ich statt Pinb.0 den Ausdruck PORTB=&B00000001 schreibe und noch ne while Schleife setze funzts perfekt. Da ich aber noch mehrere Touchpoints anschließen muss....brauche ich es ähnlich wie oben. Danke im vorraus Fabian
Fabian schrieb: > If Getadc(0) >= 200 And Pinb.0 = 0 Then > Pinb.0 = 1 > End If > > If Getadc(0) >= 200 And Pinb.0 = 1 Then > Pinb.0 = 0 > End If > Loop > End > > > Also eigentlich nicht viel was man falsch machen kann^^ Doch. Sieh Dir einfach mal an, was passiert, wenn Dein (falsches*) Pinb.0 = 1 das erste Mal ausgeführt wird. Sofort danach wird ein weiteres mal der ADC abgefragt und wenn Pinb.0 == 1 ist, Pinb.0 auf 0 gesetzt. Und sofort danach wird wieder der ADC abgefragt und wenn Pinb.0 == 0 ist, es wieder auf 1 gesetzt. Sprich: Solange der ADC einen Wert größer als 199 liefert, oszilliert die Angelegenheit mit durch die Abtastrate des ADC bestimmter Frequenz. Du hast aber wohl was anderes vor ... *) Sieh Dir den Einwand von "Skriptkiddy" an
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.