中级会员
- 积分
- 209
- 金钱
- 209
- 注册时间
- 2013-8-15
- 在线时间
- 6 小时
|
单独将OV7670数据传到TFT:<br />
#include"ov7670.h"<br />
u8 <span style="color:#e53333;">temp[2]</span>;<br />
u16 i,j,t1,t2;<br />
....<br />
...<br />
....<br />
...<br />
void EXTI4_IRQHandler(void)<br />
{<br />
......<br />
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>EXTI->IMR&=~(1<<4);<span class="Apple-tab-span" style="white-space:pre;"> </span> //禁止外部中断,准备从FIFO中取数据</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>EXTI->EMR&=~(1<<4);<br />
.......<br />
.....<br />
.....</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span> Address_set(0,32,239,271); //tft位置</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>FIFO_OE=0;<span class="Apple-tab-span" style="white-space:pre;"> </span> //允许FIFO输出</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(i = 0; i < 7200; i ++)<span class="Apple-tab-span" style="white-space:pre;"> </span> //显示尺寸240*240</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span> {<span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span> <span class="Apple-tab-span" style="white-space:pre;"> </span>for(j = 0; j < 8; j ++)</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>{<span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>FIFO_RCK=0;<span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>FIFO_RCK=1;<span class="Apple-tab-span" style="white-space:pre;"> </span> <span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>t1=(0x00ff&GPIOB->IDR);<span class="Apple-tab-span" style="white-space:pre;"> </span> <span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>FIFO_RCK=0;<span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>FIFO_RCK=1;<span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>t2=(0x00ff&GPIOB->IDR); <span class="Apple-tab-span" style="white-space:pre;"> <br />
<span style="color:#e53333;"><b> </b></span></span><b><span style="color:#e53333;"> tmep[0]=t1;</span><br />
<span style="color:#e53333;"> tmep[1]=t2; </span></b></div>
<span style="color:#e53333;"><b> </b></span><div><b><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span><span style="color:#e53333;">LCD_WR_DATA((temp[0]<<8)|temp[1]); </span></b><span class="Apple-tab-span" style="white-space:pre;"><b> </b> </span> <span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>FIFO_OE=1;<span class="Apple-tab-span" style="white-space:pre;"> </span> <span class="Apple-tab-span" style="white-space:pre;"> </span> //禁止FIFO输出</div>
....<br />
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>EXTI->IMR|=(1<<4);<span class="Apple-tab-span" style="white-space:pre;"> </span> //允许外部中断,以便接收下帧图像数据</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>EXTI->EMR|=(1<<4);</div>
}<br />
<br />
显示很正常!!!一点问题都没有。以上程序毫无问题。<br />
<br />
=======================================================<br />
但是,当我分开通过无线传输的时候问题就来了。<br />
<br />
<span style="font-size:24px;color:#003399;"><b>【发送端:STM32+24L01+OV7670摄像头】:</b></span><br />
#include ”ov7670.h“<br />
u8 <span style="color:#e53333;">temp[2]</span>;<br />
u16 i,j,t1,t2;<br />
。。。。。<br />
。。。。。<br />
。。。。<br />
void EXTI4_IRQHandler(void)<br />
{<br />
......<br />
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>EXTI->IMR&=~(1<<4);<span class="Apple-tab-span" style="white-space:pre;"> </span> //禁止外部中断,准备从FIFO中取数据</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>EXTI->EMR&=~(1<<4);<br />
.....<br />
.....</div>
TX_Mode(); //发送模式<br />
<div> FIFO_OE=0;<span class="Apple-tab-span" style="white-space:pre;"> </span> //允许FIFO输出</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(i = 0; i < 7200; i ++)<span class="Apple-tab-span" style="white-space:pre;"> </span> //显示尺寸240*240</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span> {<span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span> <span class="Apple-tab-span" style="white-space:pre;"> </span>for(j = 0; j < 8; j ++)</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>{<span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>FIFO_RCK=0;<span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>FIFO_RCK=1;<span class="Apple-tab-span" style="white-space:pre;"> </span> <span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>t1=(0x00ff&GPIOB->IDR);<span class="Apple-tab-span" style="white-space:pre;"> </span> <span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>FIFO_RCK=0;<span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>FIFO_RCK=1;<span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>t2=(0x00ff&GPIOB->IDR); </div>
<div><b><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span><span style="color:#e53333;">temp[0]=t1</span><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span><span style="color:#e53333;">;</span></b></div>
<span style="color:#e53333;"><b> </b></span><div><b><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span><span style="color:#e53333;">temp[1]=t2</span><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span><span style="color:#e53333;">;</span><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span><span style="color:#e53333;"> </span><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span></b></div>
<span style="color:#e53333;"><b> </b></span><div><b><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span><span style="color:#e53333;">NRF24L01_TxPacket(temp); //发送数据</span></b></div>
<span style="color:#e53333;"><b> </b></span><div><b><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span><span style="color:#e53333;">while(NRF24L01_TxPacket(temp)!=TX_OK); //等待发送完成</span></b></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>} </div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span> </div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>FIFO_OE=1;<span class="Apple-tab-span" style="white-space:pre;"> </span> <span class="Apple-tab-span" style="white-space:pre;"> </span> //禁止FIFO输出<br />
....<br />
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>EXTI->IMR|=(1<<4);<span class="Apple-tab-span" style="white-space:pre;"> </span> //允许外部中断,以便接收下帧图像数据</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>EXTI->EMR|=(1<<4);</div>
}<br />
<br />
<br />
<br />
=============================================================<br />
<br />
</div>
<span style="font-size:24px;color:#003399;"><b>【接收端: STM32+24L01+TFT液晶】:</b></span><br />
<br />
<div> int main(void)</div>
<div> {<span class="Apple-tab-span" style="white-space:pre;"> </span>u8 temp[2];</div>
....<br />
.....<br />
....<br />
....<br />
....<br />
<div> <span class="Apple-tab-span" style="white-space:pre;"> </span>RX_Mode(); //读取模式</div>
<div> <span class="Apple-tab-span" style="white-space:pre;"> </span>LCD_WR_REG_DATA(0x03,0x1018);</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span> Address_set(0,32,239,271);<span class="Apple-tab-span" style="white-space:pre;"> </span></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>while(1)</div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>{<span class="Apple-tab-span" style="white-space:pre;"> </span> <span class="Apple-tab-span" style="white-space:pre;"> </span> <span class="Apple-tab-span" style="white-space:pre;"> </span> </div>
<div><b><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span><span style="color:#e53333;">while(NRF24L01_RxPacket(temp)!=0);</span><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span><span style="color:#e53333;">//等待接收到信息</span><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span></b></div>
<span style="color:#e53333;"> </span><div><b><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span><span style="color:#e53333;"> </span><span class="Apple-tab-span" style="white-space:pre;color:#e53333;"> </span><span style="color:#e53333;"> LCD_WR_DATA((temp[0]<<8)|temp[1]); //数据传给TFT</span></b></div>
<div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div>
}<br />
PS:接收端只是简单的调试,没有任何处理只是简单的不停接收发过来的数据,然后显示出来。<br />
<br />
<br />
=====================<br />
结果:成功把图片传输过来,<b>但是TFT只显示图片的四分之一。</b>很模糊,还有重影。。。。。我不知道是哪里出问题了?<br />
<center>
</center><br />
正常显示为240*240的图片的。<br />
通过无线我收到的却是图片的四分之一。 <b><span style="color:#e53333;"> 先按照箭头(我也不知道刷屏方向是向上还是向下)刷完第一部分,再刷第二部分,如此循环</span></b>。。。。。。 能在第一部分与第二部分隐隐约约看到第三四部分的残影。<br />
<br />
<br />
<br />
求助啊。我真的无能为力了。烦恼死了。<br />
<br />
<br />
<br /> |
|