PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PORTA0, PORTA1 --> Input?



sbreu23s
27.06.2005, 17:58
Hi,

ich verwende einen PIC16F630. Dieser hat laut Datenblatt auf PORTA0 und PORTA1 einen Ein- oder Ausgang. Ich kann diese zwei Pins aber nur als Ausgang benutzen. Es passiert rein gar nichts, wenn ich sie als Eingang benutzen will (und vorher als diesen deklariert habe O:) ).
WARUM?

Gruss,
Stefan

Mobius
27.06.2005, 18:46
So kann ich dir keine Verlässliche Antwort auf deine Frage geben. Post mal den Source-Code. Rein Technisch gesehen müsste es als Input gehen (hast du interne Pull-ups aktiviert?), da der 630er keinen A/D-Wandler besitzt, der vorher abgeschalten werden müsste.

Wie gesagt, nach dem Source kann ich dir vielleicht mehr sagen.
MfG
Mobius

Edit:
Ich hab glaub ich dein Problem, hab grad im Datasheet des 630er gestöbert. Der Comparator ist nach einem Reset auf die zwei Pins gemulitplexed. Also musst du in den Register CMCON die ersten drei Bits (also 0 bis 1) alle auf 1 (high) setzten. Dann müsste es auch als Input funktionieren.

sbreu23s
28.06.2005, 14:55
@Mobius

Erst einmal sorry, dass ich keinen Code geposted habe.

Vielen Dank fuer deine Antwort. Das war genau mein Problem.

Hast du auch einen Tip, wie man als Anfaenger ein solches Problem loesen kann? Selbst nach lesen des Datenblattes bin ich nicht viel schlauer geworden.
Kannst du mir bitte in verstaendlichen Worten kurz erklaeren warum jetzt die Pins als Input funktionieren.

Vielen Dank!
Stefan

Mobius
28.06.2005, 16:20
Also, das ist eigentlich ganz simpel (also, zumindest, empfinde ich den Vorgang so).
Also, wenn etwas net geht, dann schau ich zuerst mal beim Datenblatt bei dem betreffenden Port, ob irgendwelche Restriktionen herrschen. Wenn das nichts weiterhilft (wie bei deinem Fall), ist am Anfang des Datenblattes ein Bild mit den einzelnen Pins und ihrer Funktion (ihren Funktionen). Und danach lese ich nur noch den betreffenden Teil des Datenblattes durch (in deinem Fall den Abschnitt über den Comparator) und achte vor allem auf die Register und den einzelnen Funktionen der Bits, z.B.: ob man etwas umschalten muss, damit der Port freigegeben wird.

Naja, das Datenblatt durchlesen, wie ein Buch tue ich vielleicht zwei Mal am Anfang, danach lese ich mich nur in die benötigten Teile ein und beachte den Rest fast gar net.

Also, das Problem war, dass, obwohl der Comparator abgeschalten war, die Pins auf Analog geschalten (Seite 39, Fig 6-2) und mit dem COmparator verbunden waren. Deshalb hast du immer 0 bei dem PORTA-Register eingelesen. Als du die Bits umgeschrieben hast, wurden die Pins von dem Comparator getrennt und auf Digital umgeschalten.

MfG
Mobius

sbreu23s
28.06.2005, 16:53
Vielen Dank fuer die hilfreiche Information!

Gruss,
Stefan