OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4618|回复: 8

STM32 OV7670 NRF24L01

[复制链接]

5

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2013-8-12
在线时间
0 小时
发表于 2014-5-16 13:18:04 | 显示全部楼层 |阅读模式
5金钱
用NRF24L01发送视频数据,采用两个8位的数组元素发送,接收显示的视频刷新速度很慢,一行一行刷新的。应该采用什么样的发送才比较快?一次发送一个240*320会不会比较好,怎么写呢,我用tmp[240][320]一次发送320个数据,怎么不能显示了<br />
发送端:<br />
for(t = 0; t &lt; 76800; t ++)        //QVGA格式,240行;每行320个点 <br />
{<br />
FIFO_RCLK =0;<br />
__nop();<br />
__nop();<br />
FIFO_RCLK =1;<br />
__nop();<br />
__nop();<br />
tmp[j++]=FIFO_DATA_PIN;<br />
<br />
FIFO_RCLK =0;<br />
__nop();<br />
__nop();<br />
FIFO_RCLK =1;<br />
__nop();<br />
__nop();<br />
tmp[j++]=FIFO_DATA_PIN;<br />
if(j&gt;=320)<br />
{<br />
j=0;<br />
while(NRF24L01_TxPacket(tmp)!=TX_OK);<br />
i++;<br />
}<br />
if(i&gt;=240)<br />
i=0; <br />
LCD_WR = 0;<br />
LCD_WR = 1;                        &nbsp;<br />
} <br />
i=0;j=0;<br />
<br />
接收端:<br />
for(i=0;i&lt;240;i++)<br />
{<br />
while(NRF24L01_RxPacket(tmp)!=0);        //等待数据接收完毕<br />
}<br />
i=0;<br />
for(t = 0; t &lt; 76800; t ++)        //QVGA格式,240行;每行320个点 <br />
{<br />
<br />
&nbsp; &nbsp; &nbsp;<br />
Data = tmp[j]; <br />
Data &lt;&lt;= 8;<br />
j++;<br />
Data |= tmp[j];<br />
j++;<br />
<br />
GPIOE-&gt;ODR = Data;<br />
if(j&gt;=320)<br />
{<br />
j=0;<br />
i++; <br />
}<br />
if(i&gt;=240)<br />
i=0;<br />
<br />
LCD_WR = 0;<br />
LCD_WR = 1;                        &nbsp;<br />
}<br />
LCD_CS = 1;        &nbsp; &nbsp;<br />

最佳答案

查看完整内容[请看2#楼]

你一次发送1个字节,当然慢了... 一次用最大的,32字节...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165186
金钱
165186
注册时间
2010-12-1
在线时间
2106 小时
发表于 2014-5-16 13:18:05 | 显示全部楼层
你一次发送1个字节,当然慢了...
<br>一次用最大的,32字节...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

14

主题

490

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1229
金钱
1229
注册时间
2012-8-4
在线时间
248 小时
发表于 2014-5-16 20:07:34 | 显示全部楼层
NRF24L01&nbsp;好像一次最多发32字节
nrf51822蓝牙4.0手环开发板: 淘宝小店
回复

使用道具 举报

5

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2013-8-12
在线时间
0 小时
 楼主| 发表于 2014-5-16 22:26:13 | 显示全部楼层
回复【3楼】正点原子:
<br>---------------------------------
<br>那接收应该怎么接收呢?一接收到32字节再把每2字节写入彩屏吗?
<br>                        for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;76800;&nbsp;i&nbsp;++)        //QVGA格式,240行;每行320个点               
<br>                        {
<br>                                        while(NRF24L01_RxPacket(tmp)!=0);        //等待数据接收完毕&nbsp;
<br>                                        count=0;
<br>                                        while(count&lt;=32)
<br>                                        {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>                                                Data&nbsp;=&nbsp;tmp[count++];
<br>                                                Data&nbsp;&lt;&lt;=&nbsp;8;
<br>
<br>                                                Data&nbsp;|=&nbsp;tmp[count++];
<br>                                                GPIOE-&gt;ODR&nbsp;=&nbsp;Data;
<br>                                               
<br>                                                LCD_WR&nbsp;=&nbsp;0;
<br>                                                LCD_WR&nbsp;=&nbsp;1;
<br>                                        }
<br>                                                                &nbsp;
<br>                        }
<br>                        LCD_CS&nbsp;=&nbsp;1;
<br>不显示呢
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165186
金钱
165186
注册时间
2010-12-1
在线时间
2106 小时
发表于 2014-5-16 23:27:24 | 显示全部楼层
回复【4楼】kangzy92:
<br>---------------------------------
<br>是的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2013-8-12
在线时间
0 小时
 楼主| 发表于 2014-5-16 23:55:48 | 显示全部楼层
回复【5楼】正点原子:
<br>---------------------------------
<br>但是为什么刷新速度是增加了,但是显示有好多黑白相间的横线?什么问题?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165186
金钱
165186
注册时间
2010-12-1
在线时间
2106 小时
发表于 2014-5-16 23:59:20 | 显示全部楼层
说明你传输过程数据可能有丢失
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2013-8-12
在线时间
0 小时
 楼主| 发表于 2014-5-17 00:17:32 | 显示全部楼层
回复【7楼】正点原子:
<br>---------------------------------
<br>我程序就是这样,能帮我看下吗?感激啊,两个字节的时候是可以显示的,只是刷新速度很慢
<br>发送:
<br>                                for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;76800;&nbsp;i&nbsp;++)        //QVGA格式,240行;每行320个点               
<br>                                {
<br>                                                FIFO_RCLK&nbsp;=0;
<br>                                                __nop();
<br>                                                __nop();
<br>                                                FIFO_RCLK&nbsp;=1;
<br>                                                __nop();
<br>                                                __nop();
<br>                                                tmp[count]=FIFO_DATA_PIN;
<br>                                                count++;
<br>                                                FIFO_RCLK&nbsp;=0;
<br>                                                __nop();
<br>                                                __nop();
<br>                                                FIFO_RCLK&nbsp;=1;
<br>                                                __nop();
<br>                                                __nop();
<br>                                                tmp[count]=FIFO_DATA_PIN;
<br>                                                count++;
<br>                                                if(count&gt;=32)
<br>                                                {
<br>                                                        count=0;                                                       
<br>                                                        while(NRF24L01_TxPacket(tmp)!=TX_OK);
<br>                                                }
<br>                                                LCD_WR&nbsp;=&nbsp;0;
<br>                                                LCD_WR&nbsp;=&nbsp;1;                        &nbsp;
<br>                                }
<br>
<br>接收:
<br>                        for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;76800;&nbsp;i&nbsp;++)        //QVGA格式,240行;每行320个点               
<br>                        {
<br>                                        while(NRF24L01_RxPacket(tmp)!=0);        //等待数据接收完毕&nbsp;
<br>                                        count=0;
<br>                                        while(count&lt;=32)
<br>                                        {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>                                                Data&nbsp;=&nbsp;tmp[count++];
<br>                                                Data&nbsp;&lt;&lt;=&nbsp;8;
<br>                                                Data&nbsp;|=&nbsp;tmp[count++];
<br>                                                GPIOE-&gt;ODR&nbsp;=&nbsp;Data;
<br>                                               
<br>                                                LCD_WR&nbsp;=&nbsp;0;
<br>                                                LCD_WR&nbsp;=&nbsp;1;
<br>                                        }
<br>                                                                &nbsp;
<br>                        }
<br>                        LCD_CS&nbsp;=&nbsp;1;
回复

使用道具 举报

5

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2013-8-12
在线时间
0 小时
 楼主| 发表于 2014-5-17 00:26:07 | 显示全部楼层
可以了&nbsp;改成31就可以了,谢谢你
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-9-30 03:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表