資源簡介
使用樹莓派的GPIO口驅動ov7670 并把圖像發送到遠程端 端口對應的很詳細 都在。h文件中

代碼片段和文件信息
#include?“Sensor.h“
#include?“Sensor_config.h“
/*?Sensor_init()?*/
//返回1成功,返回0失敗
int?Sensor_init(void)
{
int?i=0?fd?rev;
if?((fd=wiringPiI2CSetup(OV7670_ADDRESS))?0)
{
fprintf?(stderr?“[-]?Unable?to?wiringPiI2CSetup:?%s\n“?strerror?(errno))?;
return?0?;
}
if?(wiringPiI2CWriteReg8(fd?0x12?0x80)?0)//reset
{
fprintf?(stderr?“[-]?Unable?to?wiringPiI2CWriteReg8:?%s\n“?strerror?(errno))?;
return?0?;
}
printf(“[+]?ov7670?reset?success?\n“);
delay?(100)?;
if?((rev?=?wiringPiI2CReadReg8(fd?0x0b))0)
{
fprintf?(stderr?“[-]?Unable?to?wiringPiI2CReadReg8:?%s\n“?strerror?(errno))?;
return?0?;
}
????if(rev==0x73)//OV7670
{
printf(“[+]?ov7670?Certified?\n“);
for(i=0;i {
if(wiringPiI2CWriteReg8(fdOV7670_reg[i][0]OV7670_reg[i][1])0)
{
fprintf?(stderr?“[-]?Unable?to?Init?register?%d:?%s\n“?i?strerror?(errno))?;
return?0;//錯誤返回
}
????}
}
printf(“[+]?ov7670?Init?success!?\n“);
return?0x01;?//ok??
}?
void?FIFO_PIN_Init(void)
{
pinMode?(FIFO_RD_BIT?OUTPUT)?;
pinMode?(FIFO_RRST_BIT?OUTPUT)?;
pinMode?(FIFO_CS_BIT?OUTPUT)?;
pinMode?(FIFO_WE_BIT?OUTPUT)?;
pinMode?(FIFO_DATA_BIT_0?INPUT)?;
pinMode?(FIFO_DATA_BIT_1?INPUT)?;
pinMode?(FIFO_DATA_BIT_2?INPUT)?;
pinMode?(FIFO_DATA_BIT_3?INPUT)?;
pinMode?(FIFO_DATA_BIT_4?INPUT)?;
pinMode?(FIFO_DATA_BIT_5?INPUT)?;
pinMode?(FIFO_DATA_BIT_6?INPUT)?;
pinMode?(FIFO_DATA_BIT_7?INPUT)?;
pinMode?(VSYNC_CMOS_PIN?INPUT)?;
FIFO_CS_L();//使能7670
FIFO_WE_H();?
}
void?FIFO_RESET(void)
{
FIFO_RRST_L();?
FIFO_RD_L();
FIFO_RD_H();
FIFO_RD_L();
FIFO_RRST_H();
FIFO_RD_H();
}
unsigned?char?PIXEL_DATA;
unsigned?char?FIFO_READ_PIXEL(void)
{
PIXEL_DATA=0;
FIFO_RD_L();? ? ????
PIXEL_DATA?|=?digitalRead(FIFO_DATA_BIT_7);?
PIXEL_DATA?<<=?1;
PIXEL_DATA?|=?digitalRead(FIFO_DATA_BIT_6);?
PIXEL_DATA?<<=?1;
PIXEL_DATA?|=?digitalRead(FIFO_DATA_BIT_5);?
PIXEL_DATA?<<=?1;
PIXEL_DATA?|=?digitalRead(FIFO_DATA_BIT_4);?
PIXEL_DATA?<<=?1;
PIXEL_DATA?|=?digitalRead(FIFO_DATA_BIT_3);?
PIXEL_DATA?<<=?1;
PIXEL_DATA?|=?digitalRead(FIFO_DATA_BIT_2);?
PIXEL_DATA?<<=?1;
PIXEL_DATA?|=?digitalRead(FIFO_DATA_BIT_1);?
PIXEL_DATA?<<=?1;
PIXEL_DATA?|=?digitalRead(FIFO_DATA_BIT_0);?
FIFO_RD_H();? ????
return?PIXEL_DATA;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1204??2014-05-21?20:24??Sensor.h
?????文件????????3765??2014-05-13?22:27??Sensor_config.h
?????文件?????????224??2014-05-21?18:41??makefile
?????文件????????2206??2014-05-21?20:30??test.c
?????文件????????2455??2014-05-21?20:24??Sensor.c
- 上一篇:算法導論第三版課后答案
- 下一篇:基于Atmega16濕度傳感器源代碼
評論
共有 條評論