- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 5 von 5

Thema: PORTA0, PORTA1 --> Input?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    26.04.2004
    Beiträge
    13

    PORTA0, PORTA1 --> Input?

    Anzeige

    LiFePo4 Akku selber bauen - Video
    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 ).
    WARUM?

    Gruss,
    Stefan

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.10.2004
    Ort
    ferd. Waldmüllerg. 7/2
    Alter
    39
    Beiträge
    456
    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.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    26.04.2004
    Beiträge
    13
    @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

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.10.2004
    Ort
    ferd. Waldmüllerg. 7/2
    Alter
    39
    Beiträge
    456
    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

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    26.04.2004
    Beiträge
    13
    Vielen Dank fuer die hilfreiche Information!

    Gruss,
    Stefan

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen