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.
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.
> 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 :-)
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
Hallo Hab mal 2 Anhänge hochgeladen. Vielleicht hilft es dir ja. Habe den µC so eingestellt.
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.