Brauchen Sie Hilfe bei der Verwendung dsPIC33FJ Input Capture

H

hoseinagha

Guest
Ich benutze dsPIC33FJ256GP710 und unter Verwendung von Code für die Festlegung von Input-Capture-1.
Aber das Ergebnis ist falsch.Es scheint, dass Input Capture ist nicht mit Eingangsfrequenz und Ergebnis ist eine wesentlich höhere Frequenz.

unsigned int ic1_prev_buf;
void __attribute__ ((__interrupt__)) _IC1Interrupt (void)
(
unsigned int tmp, icvalue;
tmp = IC1BUF;

if (ic1_prev_buf> tmp)
icvalue = tmp 65535 - ic1_prev_buf;
sonst
icvalue = tmp - ic1_prev_buf;
ic1_prev_buf = tmp;
IFS0bits.IC1IF = 0;
)

void timer2init (void)
(
/ / CPU-Takt 46080000
/ / Timer 2 prescallar: 64
T2CON = 0;
T2CONbits.TCKPS = 2;
T2CONbits.TON = 1;
PR2 = 0xffff;
)

void ic1_init (void)
(
/ / TRISDbits.TRISD8 = 1;
/ / IC1CON = 0;
IC1CONbits.ICM = 3;
IC1CONbits.ICTMR = 1;
IC1CONbits.ICI = 0;
IFS0bits.IC1IF = 0;
IPC0bits.IC1IP = 7;
IEC0bits.IC1IE = 1;
)

Jede Hilfe ist willkommen.

 

Welcome to EDABoard.com

Sponsor

Back
Top