高级会员

- 积分
- 530
- 威望
- 213
- 贡献
- 107
- 兑换币
- 126
- 注册时间
- 2012-11-1
- 在线时间
- 105 小时
|
野火 发表于 2013-3-22 12:23 ![]()
报什么错呢?
可否上传工程看看
u8 ImageBuf[ROW][COL];
volatile u8 VSYN = 1;
volatile u32 rowCnt = 0 ;
void main()
{
u32 i,j;
u8 ack1,ack2,ack3;
DisableInterrupts;
gpio_init (PORTE, 0, GPO, 1); //初始化PTE0为高电平输出---LED0
gpio_init (PORTE, 1, GPO, 1);
gpio_set (PORTE, 0, 1); //设置PTE1为高电平输出,LED0灭
gpio_set (PORTE, 1, 1);
sccb_init();
//-----------SCCB恢复默认出厂设置----------//
//--PCLK:70ns HREF:63us VSYN:33.33ms--//
//--原分辨率为640*480
//--在每两个HREF之间有1280个PCLK---U Y V Y U Y V Y
//--在每两个VSYN之间有240个HREF //OV7620是隔行采集
//sccb_regWrite(0x42,0x11,0x00);
//sccb_regWrite(0x42,0x14,0x04);
//sccb_regWrite(0x42,0x28,0x20);
//---------------------------------------//
//----------SCCB寄存器配置---------------//
for(u8 time=0; time<20; time++)
{
ack1 = sccb_regWrite(0x42,0x11,0x03); //地址0X11-中断四分频(640*240) PCLK:166ns HREF:254.6us VSYN:133.6ms
ack2 = sccb_regWrite(0x42,0x14,0x24); //地址0X14-QVGA(320*120) PCLK:332ns HREF:509.6us VSYN:133.6ms
ack3 = sccb_regWrite(0x42,0x28,0x20); //地址0X28-连续采集模式(320*240) PCLK:666ns HREF:509.6us VSYN:133.6ms
if( (ack1 == 0) && (ack2 == 0) && (ack3 == 0))
{
gpio_set (PORTE, 0, 0); //写成功 灯亮
sccb_wait();
break;
}
else
{
gpio_set (PORTE, 0, 1); //写失败 灯灭
sccb_wait();
continue;
}
}
sccb_wait();
//----初始化图像数组----//
for(i=0; i<ROW; i++)
{
for(j=0;j<COL ;j++)
{
ImageBuf[j] = 0;
}
}
//----初始化串口------//
uart_init (UART, 115200);
//----初始化外部中断---//
exti_init(PORTB, 23, rising_down); //HREF----PORTB23 端口外部中断初始化 ,上升沿触发中断,内部下拉
exti_init(PORTA, 27, rising_down); //VSYN----PORTA27 端口外部中断初始化 ,上升沿触发中断,内部下拉
EnableInterrupts;
while(1)
{
uart_putchar(UART,0xFF); //图像头
for(i=0; i<ROW; i++)
{
for(j=0;j<COL ;j++)
{
if(ImageBuf[j] == 0xFF) ImageBuf[j]--;
uart_putchar(UART,ImageBuf[j]);
}
}
EnableInterrupts;
}
}
进入不了行中断 就连sccb配置都进不了。
|
|