![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
v2
main.cpp
- Committer:
- kangmingyo
- Date:
- 2019-07-31
- Revision:
- 1:792b922ca3b9
- Parent:
- 0:520e7ccaa52d
File content as of revision 1:792b922ca3b9:
//#include <mbed.h> /* * Author: Edoardo De Marchi * Date: 07/04/13 * Notes: OV7670 + FIFO AL422B camera test */ #include "main.h" #include <FastPWM.h> RawSerial pc(USBTX,USBRX); FastPWM FP(D6,-1); #define VGA 307200 //640*480 #define QVGA 76800 //320*240 #define QQVGA 19200 //160*120 static char format = ' '; static int resolution = 0; //void rxCallback(MODSERIAL_IRQ_INFO *q) //{ // new_send = true; //} int main() { // camera.Reset(); FP.period_us(0.1); FP.write(0.5); pc.baud(115200); wait(1); pc.printf("SystemCoreClock: %dMHz\r\n", SystemCoreClock/1000000); // print the clock frequency // while(1) // { // if(new_send) // { // int i = 0; // // while(pc.readable()) // { // word[i] = pc.getc(); // i++; // } // parse_cmd(); // } // wait_ms(50); // } format = 'y'; resolution = QVGA; if(camera.Init('b', QVGA) != 1) { pc.printf("Init Fail\r\n"); } pc.printf("Initializing done\r\n"); memset(word, 0, sizeof(word)); wait(1); camera.vsync.enable_irq(); while(1){ } } // //void parse_cmd() //{ // new_send = false; // // if(strcmp("snap", word) == 0) // { // CameraSnap(); // memset(word, 0, sizeof(word)); // }else // if(strcmp("init_bw_VGA", word) == 0) // Set up for 640*480 pixels RAW // { // format = 'b'; // resolution = VGA; // if(camera.Init('b', VGA) != 1) // { // pc.printf("Init Fail\r\n"); // } // pc.printf("Initializing done\r\n"); // memset(word, 0, sizeof(word)); // }else // if(strcmp("init_yuv_QVGA", word) == 0) // Set up for 320*240 pixels YUV422 // { format = 'y'; // resolution = QVGA; // if(camera.Init('b', QVGA) != 1) // { // pc.printf("Init Fail\r\n"); // } // pc.printf("Initializing done\r\n"); // memset(word, 0, sizeof(word)); // // }else // if(strcmp("init_rgb_QVGA", word) == 0) // Set up for 320*240 pixels RGB565 // { // format = 'r'; // resolution = QVGA; // if(camera.Init('r', QVGA) != 1) // { // pc.printf("Init Fail\r\n"); // } // pc.printf("Initializing done\r\n"); // memset(word, 0, sizeof(word)); // }else // if(strcmp("init_bw_QVGA", word) == 0) // Set up for 320*240 pixels YUV (Only Y) // { // format = 'b'; // resolution = QVGA; // if(camera.Init('b', QVGA) != 1) // { // pc.printf("Init Fail\r\n"); // } // pc.printf("Initializing done\r\n"); // memset(word, 0, sizeof(word)); // }else // if(strcmp("init_yuv_QQVGA", word) == 0) // Set up for 160*120 pixels YUV422 // { // format = 'y'; // resolution = QQVGA; // if(camera.Init('b', QQVGA) != 1) // { // pc.printf("Init Fail\r\n"); // } // pc.printf("Initializing done\r\n"); // memset(word, 0, sizeof(word)); // }else // if(strcmp("init_rgb_QQVGA", word) == 0) // Set up for 160*120 pixels RGB565 // { // format = 'r'; // resolution = QQVGA; // if(camera.Init('r', QQVGA) != 1) // { // pc.printf("Init Fail\r\n"); // } // pc.printf("Initializing done\r\n"); // memset(word, 0, sizeof(word)); // }else // if(strcmp("init_bw_QQVGA", word) == 0) // Set up for 160*120 pixels YUV (Only Y) // { // format = 'b'; // resolution = QQVGA; // if(camera.Init('b', QQVGA) != 1) // { // pc.printf("Init Fail\r\n"); // } // pc.printf("Initializing done\r\n"); // memset(word, 0, sizeof(word)); // }else // if(strcmp("time", word) == 0) // { // pc.printf("Tot time acq + send (mbed): %dms\r\n", t2-t1); // memset(word, 0, sizeof(word)); // }else // if(strcmp("reg_status", word) == 0) // { // int i = 0; // pc.printf("AD : +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F"); // for (i=0;i<OV7670_REGMAX;i++) // { // int data; // data = camera.ReadReg(i); // READ REG // if ((i & 0x0F) == 0) // { // pc.printf("\r\n%02X : ",i); // } // pc.printf("%02X ",data); // } // pc.printf("\r\n"); // } // // memset(word, 0, sizeof(word)); // //} // //void CameraSnap() //{ // // // // Kick things off by capturing an image // camera.CaptureNext(); // while(camera.CaptureDone() == false); // // Start reading in the image data from the camera hardware buffer // camera.ReadStart(); // t1 = t.read_ms(); // // for(int x = 0; x<resolution; x++) // { // // Read in the first half of the image // if(format == 'b' && resolution != VGA) // { // camera.ReadOnebyte(); // }else // if(format == 'y' || format == 'r') // { // pc.putc(camera.ReadOnebyte()); // } // // Read in the Second half of the image // pc.putc(camera.ReadOnebyte()); // Y only // } // // camera.ReadStop(); // t2 = t.read_ms(); // // camera.CaptureNext(); // while(camera.CaptureDone() == false); // // pc.printf("Snap_done\r\n"); //}