Hallo Ich verwende bei meiner Schaltung den internen Komparator des PICs, und initialisiere diesen durch beschreiben des CMCON Registers. Da die Schaltung nicht wie geplant funktioniert, habe ich das ganze Programm im Debug Modus laufen lassen, und die "Watch" funktion zeigt mir, das nachdem das Register CMCON beschrieben wurde das PORTA einfach auf Null gesetzt wird, und auch im weiteren Verlauf keine Änderungen mehr annimmt. Kann mir jemand sagen woran das liegt? Danke... PS: Im Anhang befindet sich die Initialisierung meines Programms.
Ok, scheinbar funktioiert das mit dem Anhang nicht... memory EQU 0xf1 #define Cal PORTA, 5 #define Cal_LED PORTA, 4 #define OUT_stdby PORTA, 0 #define OUT_msr PORTA, 1 #define Start PORTB, 0 #define Pwr_LED PORTB, 1 ;********************************************************************** ORG 0x000 goto init ORG 0x4 goto wake_up init movlw b'00000001' movwf PORTA clrf PORTB bsf STATUS, RP0 bcf STATUS, RP1 movlw b'10101100' movwf TRISA movlw b'11111101' movwf TRISB movlw b'00000101' movwf OPTION_REG movlw b'11010000' movwf INTCON clrf PIE1 clrf PIE2 clrf PCON clrf OSCTUNE clrf OSCCON movlw b'00001100' movwf ANSEL clrf ADCON1 bcf STATUS, RP0 bcf STATUS, RP1 clrf T1CON clrf ADCON0 clrf PIR1 ; Komperator init bsf STATUS, RP0 bcf STATUS, RP1 movlw b'00001010' movwf CMCON ; !!!!!!!!!!!!!!! movlw b'10000100' movwf CVRCON bcf STATUS, RP0 bcf STATUS, RP1 ; Komperator init ende ; Komperator Interrupt init bcf PIR2, CMIF bsf INTCON, GIE bsf INTCON, PEIE bsf STATUS, RP0 bcf STATUS, RP1 bsf PIE2, CMIE bcf STATUS, RP0 bcf STATUS, RP1 ; Komperator Interrupt init ende bsf Pwr_LED bcf Cal_LED bsf OUT_stdby bcf OUT_msr clrf memory goto main
Du bist in die berüchtige Analog-Falle getappt. =) Du musst PORTA auf Digital umstellen. Dazu löschst du die betreffenden Bits im Register ANSEL.
Sorry, hab nicht genau genug gelesen. Schäm Ich schau mal nach und melde mich, wenn ich eine Idee habe
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.