?? pixel+ 300k.c
字號(hào):
#include "config.h"
//------------------------------------------------SAGEM config
const uint8 P2030N_SensorConfig_18fps[211]={
/*reg*//*00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F*/
/*00*/ 0x03,0x83,0x02,0x20,0x00,0xD0,0x00,0x08,0x03,0x50,0x01,0xE8,
/*10*/ 0xFF,0xFF,0x02,0x02,0xFF,0x00,0x40,0x40,0x40,0x40,0x00,0x80,0x00,0x10,0x4A,0x19,
/*20*/ 0x24,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x01,0xE6,0x00,0xBD,0x03,0x41,0x38,0x68,
/*30*/ 0x40,0x2B,0x00,0x36,0x00,0x30,0x90,0x00,0x00,0x0A,0x20,0x33,0x06,0x06,0x02,0x00,
/*40*/ 0xC0,0xFF,0x01,0xF3,0x0F,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x9C,0x16,0x39,0x12,0x85,
/*50*/ 0xFC,0x38,0x62,0x38,0xC0,0x00,0x42,0xFF,0x02,0x00,0x1A,0x2A,0x37,0x42,0x56,0x68,
/*60*/ 0x87,0xA3,0xBC,0xD4,0xEA,0x40,0xC0,0x44,0x0C,0x00,0x40,0xA0,0x54,0x00,0x00,0x38,
/*70*/ 0xA5,0x0D,0x93,0x2D,0x06,0x83,0xAA,0x4D,0xFF,0xAC,0xFF,0x02,0x00,0x00,0x25,0x25,
/*80*/ 0x00,0x96,0x80,0xB0,0x90,0xA0,0x80,0x00,0x01,0x01,0xE7,0x00,0x01,0x03,0x00,0xFF,
/*90*/ 0x80,0x80,0x34,0x04,0x36,0x06,0xFF,0xFF,0x42,0x03,0xF0,0x10,0x10,0x7C,0x80,0x00,
/*A0*/ 0xFF,0x01,0xA5,0x02,0x7A,0x00,0xA8,0x01,0x48,0x06,0x0F,0xA0,0x48,0x89,0x8E,0x8E,
/*B0*/ 0x2E,0x50,0x5F,0x03,0xEE,0x00,0x12,0x04,0x08,0x04,0xFF,0x02,0x03,0xF3,0x2E,0x03,
/*C0*/ 0xEE,0x00,0x01,0x00,0x00,0x00,0x00,0xFF,0x00,0x1A,0x2A,0x37,0x42,0x56,0x00,0x1A,
/*D0*/ 0x2A,0x37,0x42,0x56,0x00,0x00,0x07};
//--------------------------------------------------modified
const uint8 P2030N_SensorConfig2_18fps[211]={
/*reg*//*00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F*/
/*00*/ 0x03,0x83,0x02,0x20,0x00,0xD0,0x00,0x08,0x03,0x50,0x01,0xE8,
/*10*/ 0xFF,0xFF,0x02,0x02,0xFF,0x00,0x40,0x40,0x40,0x40,0x00,0x80,0x00,0x10,0x4A,0x19,
/*20*/ 0x24,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x01,0xE6,0x00,0xBD,0x03,0x41,0x38,0x68,
/*30*/ 0x40,0x2B,0x00,0x36,0x00,0x30,0x90,0x00,0x00,0x0A,0x20,0x33,0x06,0x06,0x02,0x00,
/*40*/ 0xC0,0xFF,0x01,0xF3,0x0F,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x9C,0x16,0x39,0x12,0x85,
/*50*/ 0xFF,0x38,0x40,0x28,0xC0,0x00,0x42,0xFF,0x02,0x00,0x1A,0x2A,0x37,0x42,0x56,0x68, //50h,52h,53h
/*60*/ 0x87,0xA3,0xBC,0xD4,0xEA,0x40,0xC0,0x44,0x0C,0x00,0x40,0xA0,0x54,0x00,0x00,0x38,
/*70*/ 0xA5,0x0D,0x93,0x2D,0x06,0x83,0xAA,0x4D,0xFF,0xAC,0xFF,0x02,0x00,0x00,0x25,0x25,
/*80*/ 0x00,0x96,0x80,0xB0,0x90,0xA0,0x80,0x00,0x01,0x01,0xE7,0x00,0x01,0x03,0x00,0xFF,
/*90*/ 0x80,0x80,0x34,0x04,0x36,0x06,0xFF,0xFF,0x42,0x03,0xF0,0x10,0x10,0x7C,0x80,0x00,
/*A0*/ 0xFF,0x01,0xA5,0x02,0x7A,0x00,0xA8,0x01,0x48,0x06,0x0F,0xA0,0x48,0x89,0x8E,0x8E,
/*B0*/ 0x2E,0x50,0x5F,0x03,0xEE,0x00,0x12,0x04,0x08,0x04,0xFF,0x02,0x03,0xF3,0x2E,0x03,
/*C0*/ 0xEE,0x00,0x01,0x00,0x00,0x00,0x00,0xFF,0x00,0x1A,0x2A,0x37,0x42,0x56,0x00,0x1A,
/*D0*/ 0x2A,0x37,0x42,0x56,0x00,0x00,0x07};
/*********************************************************************************************************
** 函數(shù)名稱: TargetInit
** 功能描述: 目標(biāo)板初始化代碼,在需要的地方調(diào)用,根據(jù)需要改變
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調(diào)用模塊: 無
********************************************************************************************************/
void InitCam(uint8 Param[],uint8 n, uint8 StartReg); //將初始化參數(shù)全部灌一遍
void StartI2C(void); //
void StopI2C(void); //
void main()
{
PINSEL0=0x00000055; //Uart0 and I2C selected
PINSEL1=0x00000000; //all others are GPIO
IODIR=CamMCLK; //(0 input ;1 output)P0.15-MCLK
IOCLR=0x0ffffffff; //all port low
//------------------------------------I2C config
I2SCLH=0x30;
I2SCLL=0x30;
StartI2C();
InitCam(P2030N_SensorConfig_18fps,211,0x04);
StopI2C(); //
}
/*********************************************************************************************************
** 函數(shù)名稱: InitCam()
** 功能描述: 目標(biāo)板初始化代碼,在需要的地方調(diào)用,根據(jù)需要改變
** 輸 入: Param[] 初始化參數(shù);n 參數(shù)數(shù)組長(zhǎng)度;參數(shù)在camera寄存器中的起始位置
** 輸 出: 無
** 全局變量: 無
** 調(diào)用模塊: StartI2C();SendByte();
********************************************************************************************************/
void InitCam(uint8 Param[],uint8 n, uint8 StartReg)
{
int i;
SendByte(CamWr); //select the camera as slave
SendByte(StartReg); //the register to be start at
for(i=0;i<n;i++)
{
SendByte(Param[i]); //send all the parameters
}
}
/*********************************************************************************************************
** 函數(shù)名稱: StartI2C()
** 功能描述: 啟動(dòng)I2C總線
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調(diào)用模塊: 無
********************************************************************************************************/
void StartI2C(void)
{
I2CONCLR=0xff; //clear all bits
I2CONSET=0x40; //set as master
I2CONSET=0x60; //master and start up AA=0, no response
while(I2CONSET&0x08==0); //(SI=I2STAT.3)wait while start up not finished
}
/*********************************************************************************************************
** 函數(shù)名稱: StopI2C()
** 功能描述: 停止I2C總線
** 輸 入: 無
** 輸 出: 無
** 全局變量: 無
** 調(diào)用模塊: 無
********************************************************************************************************/
void StopI2C(void)
{
I2CONCLR=0x28; //Clear start and other flag
I2CONSET=0x50; //STO=1, stop I2C bus
}
/*********************************************************************************************************
** 函數(shù)名稱: SendByte()
** 功能描述: 發(fā)送一個(gè)字節(jié)
** 輸 入: SData 要發(fā)送的數(shù)據(jù)(地址或數(shù)據(jù))
** 輸 出: 無
** 全局變量: 無
** 調(diào)用模塊: 無
********************************************************************************************************/
void SendByte(uint8 SData)
{
I2DAT=SData;
I2CONCLR=0x28; //Clear start and other flag
while(I2CONSET&0x80==0); //wait while no ack
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -