PIC12F675 A0/A1 Output schaltet immer aus

OP #1305503
Hallo zusammen,

wahrscheinlich ist das Thema hier schon x mal durch, ich krieg es 
trotzdem nicht hin...

Habe ein recht langes Programm, bis auf A0 und A1 machen auch alle Ports 
was sie sollen. Die schalten sich aus, so dass ich ne ungewollte PWM 
bekomme.

Jetzt habe ich ein Testprogramm geschrieben, um das ganze von vorn 
anzugehen:

Ich versuche, mit einem PIC12f675 einfach mal alle Ports (außer A3, I 
know...) auf 1 zu schalten. (interner RC)

Habe hier einen PCW PIC C Compiler, bin in assembler nich so firm...

Ich muss ja Komparator und Analog ausschalten. Da ich dem Compiler mit 
seinen Fuses nicht so ganz traue, hab ich das mal in c nachgeschrieben:

void main (){

GPIO &= 0x00;     // Alles aus
CMCON |= 0x07;    // Komparator off
STATUS |= 0x10;   // wechsel auf Bank 1
ANSEL = 0;        // Analog off
TRISIO = 0;       // alles Outputs
STATUS &= ~0x10;  // wieder auf Bank 0 wechseln

GPIO = 0xff;      // alle Ports an
}

leider tut sich da gar nix mehr...

Hab jemand eine Idee, was genau mit den beiden Ports los sein kann?

Grüße & Danke,
anton_elfi
Gast #1305649
Kennt dein Compiler kein RP0 ?
RP0 ist 0x20 , damit wechselst du dann zu bank1
ein
STATUS|=0x10 ist in wirklichkeit eine NOP, da du dieses Bit nicht 
schreiben darfst, es ist nur Read Only, zumindest in der Praxis.
OP #1306749
Hallo zusammen,

herzlichen Dank und ein fettes Lob an dieses Forum, mit so vielen 
Antworten hatte ich nicht gerechnet :-)

Freitag Nacht war es dann doch etwas spät, ich konnte wohl nicht mehr 
zählen...

Natürlich muss Bit 5 vom Status Register auf 1 gesetzt werden, um auf 
Bank1 zu kommen. (also STATUS |= 0x20;)

Damit ging es dann!

Na ja, der Compiler lässt etwas zu wünschen übrig, ich dachte der 
erledigt diese Dinge in seinem Setup-Wizzard.... Also doch lieber alles 
selber machen bzw. kontrollieren!

Nochmal besten Dank & viele Grüße!
anton_elfi

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.