Da fehlt ein Pulldown am Pin, dadurch sieht er vor lauter Einsen den Nuller nicht. mfg robert
Hallo Leute,
ich verwende einen PIC 16F630.
Ich verzweifle gerade an einem Problem. Ich habe einen Taster an PORTC.3 angeschlossen - einfach zwischen VDD und dem Pin.
Jetzt habe ich folgendes Programm geschrieben und mit CC5X komipliert:
Die LED an PortA.2 ist irgendwie die ganze Zeit an und geht ab und zu mal aus und wieder an. Der Taster ist machtlos...Code:#include <E:\CC5x\16F630.h> // Prozessor-Typ definieren void main (void) // Start des Hauptprogramms { PORTC = 0; PORTA = 0; TRISA = 0b.000000; TRISC = 0b.001000; Sprungmarke: if(PORTC.3 == 1) PORTA.2 = 1; else PORTA.2 = 0; goto Sprungmarke; }
Ich versteh das nicht. Sprut hat genau so auch einen PIC geschaltet...
PS. Mit einem ASm-Code funktioniert es genauso wenig.
Kann mir jemand helfen?! Vielen Dank
Da fehlt ein Pulldown am Pin, dadurch sieht er vor lauter Einsen den Nuller nicht. mfg robert
genau!
*klugscheiss-modus ein*
der pulldown-widerstand (oder auch pullup, je nach belieben, macht nur im code nen unterschied) sorgt dafür, dass immer eine genau definierte flanke existiert, also high oder low.
das ganze sieht dann so aus:
Bild hier
der rote ist nen pullup und der grüne nen pulldown. ich hab mal nicht alle pinne des µcs drangepinselt.
ich denke damit sollte die sache klar sein!
*klugscheissmodus aus*
ich hab am anfang auch gerätselt, warum der taster nicht das macht, was ich will!
-> MEIN PROJEKTBLOG <-
Ah.
Leider hat der PIC Pull-Up Modi nur am PORTA.
Gut werde das mal programmieren.
Vielen Dank für eure schnelle Hilfe!!!
greets
Hallo
Die Meinung ist eigentlich einen externen Widerstand zu verwenden. Ok die internen gehen auch, aber meistens kann man die nur alle zusammen ein-/ausschalten.Leider hat der PIC Pull-Up Modi nur am PORTA.
So 10k sollten ok sein
Gruess
Felix
Lesezeichen