Anfängerfrage

OP #1671269
Lesenswert?

Hi.
Ich programmiere noch nicht lange mit PIC's.
Jetzt wollte ich mal eine allgemeine Frage stellen.
Ich arbeite mit dem PIC18F2550. Laut Datenblatt ist nur der PortB zu
benutzen für Interrupts?

Und meine zweite Frage.
Ich hab jetzt fürn Anfang ein lauflicht programmiert das funzt auch
ganz gut jetzt will ich 2 Taster anschließen und wenn ich die betätige 
soll
sich das lauflicht ändern. So wie setze ich das am besten um?
Eine einfache bit = 1 abfrage? Oder einen Interrupt programmieren?
Wenn es der Interrupt werden soll komm ich nicht ganz mit der umsetzung 
klar.
Wenn ich ein Interrupt programmiere springt er ja in die routine da ich 
aber einen taster und keinen schalter benutze springt er doch wenn er 
fertig ist wieder ins hauptprogramm. Er soll aber in dem lauflicht 
bleiben bis man einen anderen Taster wieder drückt. Wenn mir einer 
Starthilfe geben kann bin ich dankbar.
Gast #1671282
Lesenswert?

Also, ich würde jetzt mal mit ganz einfachen Spielerien anfangen, wie 
z.B. den Taster an einen externen Interrupt-Pin hängen, möglichst 
low-schaltend, und dann eben den Pullup aktivieren an dem Pin. Den 
externen Interrupt dann so einstellen, dass er ausgelöst wird, wenn der 
Pin seinen Zustand auf low ändert, also bei einer fallenden Flanke. Nun 
schaltest du in der Interrupt-Routine einfach eine LED an, und wenn das 
schonmal klappt kannst du dann weitermachen, wie z.B. dass die LED 
ausgehen soll wenn der Taster wieder losgelassen wird, oder dass du den 
Taster entprellst. Dazu kannst du dir auch hier im Forum mal den Artikel 
Entprellung durchlesen.
Gast #1671283
Lesenswert?

> So wie setze ich das am besten um?
> Eine einfache bit = 1 abfrage?

Die ist sicher einfacher als das:

> Oder einen Interrupt programmieren?

Du hast kein Zeitproblem.

Natürlich kannst du üben, um festzustellen,
was bei Interruptverarbeitung zu beachten ist.
Das kannst du mit der Bitabfrage nicht :-)
OP #1671359
Lesenswert?

Ne zeitproblem hab ich keines.
Ich will mich mal so in Grundlegende sachen einarbeiten.

Ich probier mal bißchen rum mit den Interrupts :o).

Ich hab noch ne andere Frage ich hab den MCLRE aktiviert aber irgentwie 
mag der nich so wie ich will sprich er macht garnix. Hab ihn über 10k 
widerstand auf VDD angeschlossen und über einen Taster mit masse 
verbunden.

Hier meine Configurationbits vielleicht hängt da der wurm drin.

;Configuration bits

CONFIG      FOSC = ECPLLIO_EC
CONFIG      PLLDIV = 2
CONFIG      PWRT = ON
CONFIG      BOR = OFF
CONFIG      WDT = OFF
CONFIG      LVP = OFF
CONFIG      MCLRE = ON

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren