PWM Capture
HejJeg har et lille problem da jeg er ved at lave en PWM måler til min PIC16F887. Jeg har lavet dette lille program men kan ikke helt se hvorfor det ikke virker.
#include <pic.h>
static int H, L, RESULT;
init_timer(void)
{
T1GINV = 1; // Count when gate is high
TMR1GE = 1; // Timer is controlled by timer gate function
T1CKPS1 = 1; // Setting prescaler at 1:8
T1CKPS0 = 1; // Setting prescaler at 1:8
T1OSCEN = 1; // Oscillator enabled
T1SYNC = 1; // Asynchronous input
TMR1CS = 1; // Measuring on T1CKI pin
TMR1ON = 1; // Enable timer
}
main()
{
TMR1H = 0; // The 8 highest bit are set to zero
TMR1L = 0; // The 8 lowest bit are set to zero
CCP1M3 = 0;
CCP1M2 = 1;
CCP1M1 = 0;
CCP1M0 = 1;
TRISC = 0xFF;
TRISD = 0x00;
init_timer();
CCP1IE = 1;
GIE = 1;
CCP1IF = 0;
do {
H = TMR1H;
L = TMR1L;
RESULT = PORTD;
} while (1);
}
interrupt inter(void)
{
if(CCP1IF)
{
RESULT = L - H;
CCP1IF = 0;
}
}
På forhånd tak