ov7670 library
Dependents: Project_test Capture_bw_portin Capture_bw_v3 Project_190659132
ov7670.h
- Committer:
- edodm85
- Date:
- 2013-03-10
- Revision:
- 0:810d59d0b843
- Child:
- 1:d82dbad9c06b
File content as of revision 0:810d59d0b843:
// // OV7670 library // #pragma once #include "mbed.h" #include "ov7670reg.h" #define OV7670_WRITE (0x42) #define OV7670_READ (0x43) #define OV7670_WRITEWAIT (20) #define OV7670_NOACK (0) #define OV7670_REGMAX (201) #define OV7670_I2CFREQ (100000) class OV7670 { public: OV7670( PinName sda, // Camera I2C port PinName scl, // Camera I2C port PinName vs, // VSYNC PinName hr, // HREF PinName we, // WEN PortName port, // 8bit bus port int mask, // 0b0000_0M65_4000_0321_L000_0000_0000_0000 = 0x07878000 PinName rt, // /RRST PinName o, // /OE PinName rc // RCLK ); ~OV7670(); void CaptureNext(void); // capture request bool CaptureDone(void); // capture done? (with clear) void WriteReg(int addr,int data); // write to camera int ReadReg(int addr); // read from camera void Reset(void); // reset reg camera int Init(char c); // init reg void VsyncHandler(void); // vsync handler void HrefHandler(void); // href handler int ReadOnebyte(void); // Data Read void ReadStart(void); // Data Start void ReadStop(void); // Data Stop private: I2C _i2c; InterruptIn vsync,href; DigitalOut wen; PortIn data; DigitalOut rrst,oe,rclk; volatile int LineCounter; volatile int LastLines; volatile bool CaptureReq; volatile bool Busy; volatile bool Done; };