Hallo, ich versuche ein Nummernfeld (Matrix 3x4) mit einem 18F4550 auszulesen. Eigentlich kein Problem, nur wollte ich zuletzt zum einlesen der "Zeilen" Port A verwenden. Dort belege ich RA2 - RA5. RA2 ist allerdings (wie ich nach einigem Suchen festgestellt habe) nicht hochohmig. Die Spannung, die über einen Pin von Port D kommt fällt also stark ab, sobald eine entsprechende Taste am Numfeld gedrückt wird, und der Pegel für High wird nicht erreicht. Alle anderen Pins sind gleich konfiguriert und zeigen ein stark hochohmiges Eingangsverhalten. Ist am Pin RA2 etwas besonderes? Abgesehen davon, dass er als AD-Eingang konfiguriert werden kann... Das ist eigentlich alles Relevante, was ich bei der I/O-Einstellung mache: #use fast_io(A) #use fast_io(B) #use fast_io(C) #use fast_io(D) set_tris_A(0xFC); //0b1111 1100 Hier liegen die Ausgänge des Numfeldes drauf. set_tris_B(0x00); //0b0000 0000 set_tris_C(0x00); //0b0000 0000 set_tris_D(0x00); //0b0000 0000 Jemand eine Idee? Herzlichen Dank.
Nicht explizit. Ich bin davon ausgegangen, dass die auf "Input" stehen, wenn ich die TRIS Register entsprechend setze und eben keine ADC Konfiguration mache. Was könnte ich denn versuchen?
hallo, ja, die Eingänge müssen auf digital gesetzt werden (ADCON1),eigenartig, dass die anderen Eingänge das richtige machen... MFG
noch etwas, in den Configurations-bits auf das Config-bit "BADEN" achten! MFG
Phil P. schrieb: > Was könnte ich denn versuchen? Hast du denn schon mal versucht in das Data Sheet zu schauen? (Dann hättest du auf keine der Antworten warten müssen) Kommt mir allerdings trotzdem etwas merkwürdig vor. Auch wenn A2 ein analoger Eingang ist, dann sollte er das Potential nicht so beeinflussen. A2 müsste schon als Comparator Reference Output konfiguriert sein... Wie sieht denn die Beschaltung von A2 genau aus?
Vielen Dank für die Antworten. @vloki: Natürlich habe ich im Datenblatt schon gesucht. Gefunden habe ich allerdings nur, dass dieser Eingang sich nicht so verhalten dürfte, wie er es tut. In welchem Kapitel stünden denn die Antworten? Beschaltung: | T µC | 1N4849 --- -------->|----o o-----. |D0 | | | | | -----o----------------' |A2 | | .-. | | | |10k '-' | VCC | --- @picfan: Herzlichen Dank für die Hinweise. Ich werde das am Wochenende ausprobieren.
Phil P. schrieb: > @vloki: Natürlich habe ich im Datenblatt schon gesucht. Das ist leider nicht sooooo natürlich;-) Wenn du es erwähnt hättest, dann bräuchte keiner nochmal nachfragen. Wenn du die Beschaltung gleich geliefert hättest... Wenn... Was soll das VCC am unteren Anschluss des 10k Wid. bedeuten? Was bedeutet "der Pegel wird nicht erreicht" den genau? Was für Spannungen liegen denn in den verschiedenen Fällen genau an?
Hallo. Sorry. Das Vcc ist ein Copy&Paste Fehler gewesen. Muss Masse sein, womit der 10k einfach nur ein klares Potential definiert. | T µC | 1N4849 --- -------->|----o o-----. |D0 | | | | | -----o----------------' |A2 | | .-. | | | |10k '-' | | --- GND Wenn ich nachmesse, fließt etwa ein Strom von 65mA in den Pin. Das ist eigentlich viel zu viel. Dass der Eingang bereits Schaden genommen hätte kann ich allerdings nicht feststellen: Wenn man den Stromfluss zulässt wird das als High Signal erkannt. Wenn allerdings nur die Schleife über D0 (als Ausgang), die Diode und den Taster als Strompfad verwendet wird (so in der späteren Applikation), fällt die Spannung an A2 auf unter 1,2V.
Und die 10k sind wirklich 10k und nicht etwa 10Ohm? Welche Spannung liegt denn bei den 65mA an?
Volker S. schrieb: > Und die 10k sind wirklich 10k und nicht etwa 10Ohm? Nene. Die Widerstänge stimmen schon ;-) Volker S. schrieb: > Welche Spannung liegt denn bei den 65mA an? Wenn der Saft aus D0 kommt, etwa 1,2V. UPDATE: Habe da Problem gefunden: Es liegt an
1 | #use fast_io(A)
|
Sobald ich das WEGLASSE, funktioniert der PIN wie erwartet. Noch ein Update: Es handelt sich um den PIN RA1. Nicht RA2! (hatte die Schaltung nicht vor Augen, als ich den ersten post gemacht habe. Nun Frage ich mich wie diese Sache mit dem FastIO zu tun hat?
1 | ADCON0=0x00; |
2 | ADCON1=0x0F; |
...hatte leider keinen Effekt. Gruß
A1 ist in deinem Original-Post aber als Ausgang konfiguriert. Was macht eigentlich dieses fast-io?
Das FastIO legt eigentlich nur fest, ob man immer manuell einen Pin auf I oder O setzt, oder ob das von ausgeführten Operation abhängen darf. Zumindest verstehe ich das so.
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.