PIC 18F4550 Eingangswiderstand von Pin RA2

OP #4297912
Lesenswert?

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.
#4298323
Lesenswert?

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?
OP #4300724
Lesenswert?

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.
#4300729
Lesenswert?

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?
OP #4302615
Lesenswert?

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.
OP #4305473
Lesenswert?

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ß

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