ov7670 no fifo
OV7670.h
- Committer:
- rulla
- Date:
- 2020-04-20
- Revision:
- 2:90b79650f69d
File content as of revision 2:90b79650f69d:
#pragma once #include "mbed.h" #include "OV7670reg.h" // // OV7670 class OV7670 { public: volatile int LineCounter ; volatile int LastLines ; volatile bool CaptureReq ; volatile bool Busy ; volatile bool Done ; volatile int PixCounter; void CaptureNext(void); bool CaptureDone(void); void WriteReg(int addr,char data); void Reset(float frequ); void test(void); void Init(float frequ,int sizeX); void Init2(void); char ReadReg(int addr); uint8_t ReadOneByte(void); int ReadOneWord(void); void ReadStart(void); void ReadStop(void); void VsyncHandler(void); void HrefHandler(void); void PclkHandler(void) ; void wait_posedge(InterruptIn pin); void wait_negedge(InterruptIn pin); void shot(int sizeX, int sizeY,uint8_t *bank0); OV7670( PinName sda,// Camera I2C port PinName scl,// Camera I2C port /* PinName vs, // VSYNC PinName hr, // HREF PinName pic ,// /pclk */ PortName ports, // 8bit bus port int masks, PortName port, // 8bit bus port int mask ) : camera(sda,scl),sync(ports,masks),dataP(port,mask) { camera.stop() ; camera.frequency(OV7670_I2CFREQ) ; // vsync.fall(this,&OV7670::VsyncHandler) ; // href.rise(callback(this, &OV7670::HrefHandler)) ; // pclk.rise(this,&OV7670::PclkHandler) ; // ????????????? blocca tutto il programma CaptureReq = false ; Busy = false ; Done = false ; LineCounter = 0 ; camera.start(); } protected: I2C camera ; //InterruptIn vsync,href,pclk; PortIn sync; /* DigitalIn vsync; DigitalIn href; DigitalIn pclk; */ PortIn dataP; };