capstone_finish
Dependencies: BufferedSerial motor_sn7544
Diff: main.cpp
- Revision:
- 0:f3f80a0695ff
- Child:
- 1:509676f3be32
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Feb 17 13:07:18 2012 +0000 @@ -0,0 +1,69 @@ +// +// OV7670 + FIFO AL422B camera board test +// +#include "mbed.h" +#include "spilcd_qvga.h" +#include "ov7670.h" +#include <stdlib.h> + +// +// SPILCD LG +// +SPILCD_QVGA lcd(p29, p30, p5, p6, p7) ; +OV7670 camera( + p28,p27, // SDA,SCL(I2C / SCCB) + p21,p22,p20, // VSYNC,HREF,WEN(FIFO) + //p18,p17,p16,p15,p11,p12,p14,p13, // D7-D0 + Port0,0x07878000, + p23,p24,p25) ; // RRST,OE,RCLK + +Serial pc(USBTX,USBRX) ; +Timer t; + +#ifdef QQVGA +# define SIZEX (160) +# define SIZEY (120) +#else +# define SIZEX (320) +# define SIZEY (240) +#endif + +int main() { + int last ; + pc.baud(115200) ; + camera.Reset() ; + +#ifdef QQVGA + camera.InitQQVGA565() ; +#else + camera.InitQVGA565() ; +#endif + + // CAPTURE and SEND LOOP + t.start(); + last = t.read_ms() ; + while(1) + { + camera.CaptureNext() ; + while(camera.CaptureDone() == false) ; + printf("Caputure %d(ms)\r\n", t.read_ms() - last) ; + last = t.read_ms() ; + camera.ReadStart() ; + lcd.Lcd_SetCursor(0,0); + lcd.Lcd_WR_Start(); + lcd.rsout(1) ; + for (int y = 0;y < SIZEY;y++) { + lcd.Lcd_SetCursor(y,0); + lcd.Lcd_WR_Start(); + for (int x = 0;x < SIZEX;x++) { + lcd.csout(0) ; + lcd.DataToWrite(camera.ReadOneWord()); + lcd.csout(1) ; + } + } + camera.ReadStop() ; + lcd.rsout(0) ; + printf("FIFO Read & Lcd Out %d(ms)\r\n", t.read_ms() - last) ; + last = t.read_ms() ; + } +}