Forum: Mikrocontroller und Digitale Elektronik 12F675 GPIO Register


von Michas R. (michas_rob)


Lesenswert?

Hallo,

ich kämpfe mit dem 12F675. ich möchte nur einen Pin toggeln lassen. Nur 
leider bring ich es nicht zusammen den GPIO0 auf High zu schalten.
  OPTION = 0xC0;
        STATUS = 0x1F;
        GPIO = 0x00;
  TRISIO = 0x04;
  WPU = 0x00;

        TRISIO =  0b00001000;
        GPIO    = 0b00000001;

Wenn ich nachdem Compilieren den Code im Simulator debuggen möchte und 
zur zeile GPIO = 0b00000001; springe, ändert sich das Special Function 
Register nicht?

Nun zu meiner Frage ist das GPIO Register falsch konfiguriert?


Danke im Voraus

Michael

von Severino R. (severino)


Lesenswert?

Michael Bau wrote:
>
> Nun zu meiner Frage ist das GPIO Register falsch konfiguriert?
>
Ja. Du musst die Pins zuerst mal als digital I/O konfigurieren und die 
Komparatoren ausschalten.
Such mal im Datenblatt oder hier im Forum nach ANSEL sowie nach CMCON.
Hier ist noch eine Quelle der Weisheit:
http://www.sprut.de/electronic/pic/fallen/fallen.html#analog
Geht genau auf den PIC12F675 ein.

Sinnvoll wäre es, wenn Du Dein Projekt zippen und hier posten würdest. 
So könnten andere es auch im Simulator laufen lassen.
Welchen Compiler verwendest Du?

von Michas R. (michas_rob)


Lesenswert?

Guten morgen,

danke für deine Atwort...

Ich habe es nun endlich geschafft, ich habe den Port falsch 
initialisiert.
Nun der richtige und funktionierende Code für die Initialisierung des 
GPIO Ports:

RP0 = 0x00;
GPIO = 0x00;
CMCON = 0x07;
RP0 = 1;
ANSEL = 0x00;
TRISIO = 0x0C;
GPIO = 0x00;
GPIO = GPIO;

Danke
LG michael

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
Noch kein Account? Hier anmelden.