hello friends
i want to implement an Omnivision OV7670 image sensor with ATMEGA16. but encountered to a problem
i can't write in ov7670 registers !
when i try to communicate via I2C, i get NACK! i send start and give rep_start from OV7670. then i send the write address (0x42 according to datasheet) but no ACK is detected !!
i doubt to these :
1- according to datasheet, the address for writing is 42 (did not say hex! is it?)don't know i must send 0x42 itself or ox42 with a left shift ? because the LSB specifies writing or reading
2- difference between logic levels. obviously atmega16 works with 5V, but ov7670 I/O voltage is 1.7 to 3V. i am using 2.6V for sensorknow what happens to I2C between mega16 and ov7670? should i connect the I2C pullup resistors to 5V or 2.6V? (i had connected it to 5V)
my circuit is simple. only SDA and SCL of OV7670 and ATMEGA16 are connected and a 4.7K pullup resistor on each line
thanks
--------------------------------------- Posted through