Version 3: Trying to interleave capture and read
Dependencies: ov7670_lib Project_test
Diff: main.cpp
- Revision:
- 4:d0d4760d32b2
- Parent:
- 3:b4e0cefc37f6
- Child:
- 5:4135ec0f88e6
diff -r b4e0cefc37f6 -r d0d4760d32b2 main.cpp --- a/main.cpp Sun Apr 07 10:52:10 2013 +0000 +++ b/main.cpp Sat Feb 15 15:01:55 2014 +0000 @@ -30,7 +30,8 @@ while(1) { - if(new_send){ + if(new_send) + { int i = 0; while(pc.readable()) @@ -46,7 +47,8 @@ -void parse_cmd(){ +void parse_cmd() +{ new_send = false; if(strcmp("snap", word) == 0) @@ -139,6 +141,22 @@ { 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)); @@ -146,7 +164,8 @@ } -void CameraSnap(){ +void CameraSnap() +{ led4 = 1; // Kick things off by capturing an image @@ -172,12 +191,10 @@ } camera.ReadStop(); - t2 = t.read_ms(); + t2 = t.read_ms(); - // Immediately request the next image to be captured (takes around 45ms) - camera.CaptureNext(); - // Now wait for the image to finish being captured - while (camera.CaptureDone() == false); + camera.CaptureNext(); + while(camera.CaptureDone() == false); pc.printf("Snap_done\r\n"); led4 = 0;