|
单片机是msp430f5529,摄像头是带fifo模块的0v7670,方法是采一帧图像读一帧图像的方式,显示的是用TFT液晶,320*240的。但是最后显示的画面总是出现移屏或者花屏现象。我也怀疑过是不是读写地址复位那部分出问题了,但是自己能力有限不知道怎么解决。望做过的同学看看是怎么回事,也欢迎对这方面有了解的大神们提出意见或者给个初始化程序。
整个采集显示问题基本解决了,有时候是可以做到正常显示。还出现过一个问题,有时也好过,但是我在读数据后加了个数据处理再显示,然后又出现移屏问题了。
- while(1)
- {
- if(fifo_ready == 1)
- {
- unsigned long FIFO_DATA,temp;
- fifo_ready = 0;
- fifo_rrst();
- FIFO_OE_L;
- for(i = 0;i < 240;i ++) //共采集320*240个点
- {
- for(j = 0;j < 320;j ++) ////这里需要改,数据读取时入口问题
- {
- FIFO_RCLK_L; //拉低PCLK,并行读取先读高八位再读低八位。
- FIFO_RCLK_H;
- FIFO_DATA = READ_DATA();
- FIFO_DATA <<= 8;
- FIFO_RCLK_L;
- FIFO_RCLK_H;
- temp = READ_DATA();
- FIFO_DATA |= temp;
- // Image_Deal();
- if(FIFO_DATA > 0xe000)
- FIFO_DATA = 0;
- // if(FIFO_DATA > 0x0008 && FIFO_DATA < 0x001f) //blue
- // FIFO_DATA = 0;
- if(FIFO_DATA > 0x0040 && FIFO_DATA < 0x07e0) //green
- FIFO_DATA = 0;
- ili9341_set_drawpoint(j,i,FIFO_DATA);
-
- }
- }
- // FIFO_OE_H;
- VSYNCCnt = 0; //开始下一帧数据采集
- sei();
-
- P1OUT ^= BIT0;
- }
- }
复制代码
图像不知道怎么上传不了,,,简单描述一下。屏幕显示正常,但是左右移位,有时上下移位。相当于把左边的切下来放在了右边。花屏就是整体颜色扭曲了,仔细看也能发现真实图像的轮廓。我也怀疑过是fifo读写地址归零的程序错了,但是不知道怎么改
- void fifo_wrst()
- {
- FIFO_WEN_L; //这里可能需要将延时加长一点
- _NOP();
- _NOP();
- FIFO_WRST_L;
- _NOP();
- _NOP();
- _NOP();
- _NOP();
- _NOP();
- _NOP();
- FIFO_WRST_H;
- }
- void fifo_rrst()
- {
- uchar i;
- FIFO_OE_L;
- FIFO_RRST_L;
- for(i = 0;i < 6;i ++)
- {
- FIFO_RCLK_L;
- _NOP();
- FIFO_RCLK_H;
- _NOP();
- }
- FIFO_OE_H;
- FIFO_RRST_H;
- }
复制代码
还有这个地方没怎么看懂,总感觉关闭打开电平错了
- #pragma vector = PORT2_VECTOR
- __interrupt void PORT_2(void)
- {
- P2IFG &= ~BIT2;
- if(VSYNCCnt == 0)
- {
- fifo_wrst();
- FIFO_WEN_H; //场同步有效后打开FIFO写使能
- FIFO_OE_H;
- }
- VSYNCCnt++;
- if(VSYNCCnt >= 3)
- {
- FIFO_WEN_L; //关闭FIFO写使能
- fifo_ready = 1;
- cli();
- }
- }
复制代码(3) 写操作:
当/WE为低电平时,在WCK信号的上升沿,数据通过DI7—DI0写入到写寄存器,参照WCK的输入周期,写入的数据须满足建立时间和保持时间的要求。当/WE为高电平时,写操作被禁止,写地址指针停在当前位置上;当/WE再次变为低电平时,写地址指针从当前位置开始。 总感觉上面这两个有点问题,还有就是我觉得应该是 VSYNCCnt >= 2 ,但是如果我改成 2 的话,图像显示就出现问题,显示着显示着就不显示了。有知道fifo模块详细运作方式的麻烦告诉一下~因为我对于移屏现象总解释不通,理论上就不应该啊,除非摄像头在采集时的图像就已经移屏了。欢迎同样在研究这方面的大神提出点建议,探讨探讨。
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|