Forum: Mikrocontroller und Digitale Elektronik Komparator Pic


von Thomas (Gast)


Lesenswert?

Hallo!
Hab heute nach einiger Zeit wieder ein bisschen mit Pics experimentiert.
Ich wollte einfach den Komparator testen, da ich den für ein Projekt 
brauche, allerdings komme ich mit dem Programm nicht zum laufen.
Ich (glaube) dass ich ihn hier so konfiguriert habe, dass ich auf RA3 
meine Referenzspannung anlege, und auf RA0 meine 2. Spannung.Es 
funktioniert aber irgendwas nicht.Es schaut es so aus als wäre der 
Ausgang vom Komparator dauerhaft 1.

Verwendet wird: PIC 18f45k22, mit 16Mhz auf Dev-Board.
Hier das kurze Programm:

  void interrupt() {
  if (C1IF_bit) {
      C1IF_bit=0; //reseting comparator 1 interrupt flag
     // if(MC1OUT==1)
       //{ PORTD=0xff;
       //}
       //else portd=0x03;
  }
}

void main() {
TRISD=0;
LATD=0;
        ANSA0_bit=1;
        TRISA0_bit=1;
        ANSA2_bit=1;
        ANSA3_bit=1;
       TRISA2_bit=1;
        TRISA3_bit=1;
        CM1CON0=0b10101000;
        C1HYS_bit=0;//Hysteresis disabled
        C1SYNC_bit=0;//no sync

      PMD2=0b00001010; //enables comparator 1, disables adc
      PIE2.b6=1;  //enable interrupt for comparator 1
      C1IP_bit=1; //comparator 1 interrupt has high priority
      GIE_bit=1; //interrupts all enable

      while(1)
      {
      LATD0_bit=MC1OUT;
        }
}

Hat vielleicht jemand eine Idee was ich hier falsch mache?

lg Thomas

von Wilhelm F. (Gast)


Lesenswert?

Thomas schrieb:

> Hat vielleicht jemand eine Idee was ich hier falsch mache?

Ohne mir den Code anzuschauen: Ich brauchte den Komparator in einem 
PIC12F675 kürzlich für eine Regelungsanwendung mit softwaregesteuertem 
Spannungsregler. Das Ding bei mir nennt sich PSM, Pulse Skip Modulator. 
Für Stepup und Stepdown gab es aber Application Notes und 
Softwarebeispiele auf der Microchip Homepage. Und dort war zumindest 
drin, wie er für diese Anwendung initialisiert wird. Ohne Blicke ins 
Manual komme ich meistens auch nicht besonders weit.

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.