Hallo Leute, Ich habe hier einen PIC 18F46K20 an welchen vier Taster via Pull-ups angeschlossen sind. Drei Taster an Port A und einen Taster an Port E (E0). Die Taster an Port A funktionieren ohne Probleme. Ich kann sie normal abfragen (mit input(pin_a4) zb.). Der Taster an E0 gibt aber mit diesem Befehl immer low zurück. Was aber funktioniert ist die AD-Wandlung an E0! Das heisst Taster gedrückt --> 0, Taster nicht gedrückt --> 255. Einen Hardwarefehler kann ich also ausschliessen. Muss ich den PORT E speziell initialisieren damit das funktioniert? Ich programmiere mit MPLAB v8.89 + CCS 4.08 mfg,
Ja! Die initialiserung ob Analog oder Digital geschieht über die ANSEL und ANSELH Register (welche genau bei deinem Controller dafür zuständig sind steht im Datenblatt - habe keines für den 46K20, ist aber bei fast allen Pic18 mehr oder weniger ähnlich).
Hallo Chris, Ich glaube ANSEL war das richtige Stichwort. Hab jetzt nochmal das Datenblatt durchgeforstet. Auszug aus Datenblatt: Note: On a Power-on Reset, RE<2:0> are configured as analog inputs. Wenn ich das ANSEL Register explizit auf null setze funktionierts so wie es soll! DANKE! mfg,
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.