Image capturing using LPC1768 and GC0303 CMOS IMAGE sensor

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Image capturing using LPC1768 and GC0303 CMOS IMAGE sensor

414 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by henryengenharia on Tue Jul 14 05:21:14 MST 2015
Hi,

I´m developing a fingerprint image capture using the GC0303 to do it, I finish the configuration procedure but when I try capture a line I only receive 1/3 of the bytes. Someone can help me with any idea how I can adjust the below capture routine:

void EINT3_IRQHandler(void) {
uint32_t rising = LPC_GPIOINT->IO2IntStatR;
uint32_t falling = LPC_GPIOINT->IO2IntStatF;
if (rising & (1 << RS_BIT)) {// PCLK RISE
if (hflag == 1){// INCREASE COUNTER ONLY IF HSYNC IS HIGH
p_counterbuf[h_counter]++;
}
LPC_GPIOINT->IO2IntClr |= (1 << RS_BIT); // clear interruption flag.
} else {
if (rising & (1 << EN_BIT)) {// VSYNC RISE
if (h_counter > 0){// IF have captured lines transmit by serial
if (h_counter == 0x1E2){
serManager_sendData(&p_counterbuf, 2*h_counter);
}
h_counter = 0;// clear horizontal counter
}
LPC_GPIOINT->IO2IntClr |= (1 << EN_BIT); // clear interruption flag.
}
if (rising & (1 << RW_BIT)) {// HSYNC RISE, NEW DATA
hflag = 1;// INDICATE HSYNC status
p_counterbuf[h_counter] = 0;// CLEAR PCLK COUNTER
LPC_GPIOINT->IO2IntClr |= (1 << RW_BIT); // clear interruption flag.
}
}
if (falling & (1 << RW_BIT)){// HSYNC FALL, new line
hflag = 0;
h_counter++;
LPC_GPIOINT->IO2IntClr |= (1 << RW_BIT); // clear interruption flag.
}
return;
}
Labels (1)
0 Kudos
Reply
0 Replies