金牌会员
 
- 积分
- 1078
- 威望
- 613
- 贡献
- 255
- 兑换币
- 12
- 注册时间
- 2012-1-7
- 在线时间
- 105 小时
|
本帖最后由 adndcn 于 2012-3-23 19:18 编辑
齐天小晟 发表于 2012-3-22 18:47 ![]()
磨刀不误砍柴工啊,学会以后可以自己改进上位机的功能
嘿,哥们,我解决了。是我的采集程序。
我现在设置了QVGA,逐行扫描模式,黑白模式。
如下:
SCCB_Write(0x42,0x14,0x24);//qva
SCCB_Write(0x42,0x28,0x60);//black white progressive scan mode
现在令我费解的是,我行中断计数了480个,隔8个采一行数据,结果图像就不抖动了,而且显示的非常好。。。。
QVGA不是240行么?
很费解。。。。O(∩_∩)O~
程序是无意中改了个参数的
void EXTI0_IRQHandler(void)//VSYNC
{
VSYNC_Flag=1;
EXTI->PR=1<<0;
}
void EXTI1_IRQHandler(void)//HREF
{
if(VSYNC_Flag)
{
if(HREF_Num<480)
{
if(HREF_Num%8==0)
{
for(pclk_Num=0;pclk_Num<Xmax;pclk_Num++)
{
//rewdata=GPIOB->IDR;
//imagedata=(rewdata&0x0000FF00)>>8;
//data[HREF_Num/10][pclk_Num]=imagedata;
data[HREF_Num/8][pclk_Num]=(GPIOB->IDR&0x0000ff00)>>8;
}
}
HREF_Num++;
}
else
{
EXTI->IMR&=~(1<<0);
//EXTI->EMR&=~(1<<0);
EXTI->IMR&=~(1<<1);
//EXTI->EMR&=~(1<<1);
VSYNC_Flag=0;
HREF_Num=0;
imageok=0;
}
}
EXTI->PR=1<<1;
}
|
|