Currently, I have a mega128 hooked up to a c3088 camera module (which uses an OV6620 CMOS sensor).
I am able to get pictures from it, but they don't look correct.
The way I am doing it right now is that I wait for a VYSNC, and then I have a row variable that stores the current row I want. Once enough HREFs have gone by so that I get to the row I want, I then use the pixel clock to clock in 176 pixels. Once those are all clocked in, I send the buffer that's holding those pixels out on the serial line (and then wait for another VSYNC and continue the process until 144 rows have been sent).
On the computer side of it, I am using hyper terminal to capture the text that is being sent and I also wrote a basic program in C++ to create BMP images. I have the program create the header and header info for the BMP files, and then I read in the data that was captured by hyper terminal and append it to the header data and write it out to a file called "test.bmp".
I have attached the BMP file in hopes that something that's going wrong maybe looks obvious to someone else.