سلام
من میخوام با i2c رجیستر های دروبین OV7670+AL422 FIFO بخونم ولی موفق نمیشم کد زیر رو زدم
به نظرتون مشکل از کجا میتونه باشه؟
من فقط ۴ تا پایه VCC و GND و SCL و SDA رو وصل کردم و با باقی پایه ها کاری نداشتم
پایه های SDA و SCL رو هم با مقاومت ۲.۲ کیلو اهم به ۳.۳ ولت وصل کردم
کسی تا به حال مدل FIFO دار این دوربین رو راه انداخته؟
۱ ماه دارم کل اینترنت رو زیر و رو میکنم هیچ نمونه کد بدرد بخوری متاسفانه گیر نیاوردم
خروجی زیر رو بم میده
من میخوام با i2c رجیستر های دروبین OV7670+AL422 FIFO بخونم ولی موفق نمیشم کد زیر رو زدم
به نظرتون مشکل از کجا میتونه باشه؟
من فقط ۴ تا پایه VCC و GND و SCL و SDA رو وصل کردم و با باقی پایه ها کاری نداشتم
پایه های SDA و SCL رو هم با مقاومت ۲.۲ کیلو اهم به ۳.۳ ولت وصل کردم
کسی تا به حال مدل FIFO دار این دوربین رو راه انداخته؟
۱ ماه دارم کل اینترنت رو زیر و رو میکنم هیچ نمونه کد بدرد بخوری متاسفانه گیر نیاوردم
کد:
#include <AT91SAM7X256.H> #include <lib_at91sam7x256.h> #include <stdio.h> #include <pio.h> #include "LCD_N96/TFTLCD.h" #include "LCD_N96/LCD_CLINE.h" #include "tdelay/tdelay.h" #include "SWI2C/I2CSW.h" unsigned char Read_OV7670_Reg(unsigned char regID, unsigned char *regDat) { i2csw_start(); if( i2csw_write(0x42)==0 ) { i2csw_stop(); return(10); } delay_us(100); if( i2csw_write(regID)==0 ) { i2csw_stop(); return(20); } i2csw_stop(); delay_us(100); i2csw_start(); if( i2csw_write(0x43)==0 ) { i2csw_stop(); return(30); } delay_us(100); *regDat=i2csw_read(NACK); i2csw_stop(); return (1); } int main(void) { unsigned char regData=0,result; init_delay(); tftlcd_init(); tftlcd_Fill(BLACK); i2csw_init(); result = Read_OV7670_Reg(0x0A,&regData); lprintf("\n Result = %d",result); lprintf("\n regData = %d",regData); while(1); }
کد:
Result = 10 regData = 0
دیدگاه