12F675 GPIO Register

OP #788176
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
#788192
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?
OP #792050
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

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