OpenEdv-开源电子网

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

24l01无线传输摄像头拍的图像,不知道发射有问题吗?

[复制链接]

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-9-10
在线时间
0 小时
发表于 2014-11-8 15:27:22 | 显示全部楼层 |阅读模式
5金钱
发射端不知道有没有问题,接受端没有收到,原子哥指导下!<br />
#include "stm32f10x.h"<br />
#include "usart.h"<br />
#include "sys.h"<br />
#include "delay.h"<br />
#include "lcd.h"<br />
#include "exti.h"<br />
#include "24l01.h"<br />
#include "ov7670.h"<br />
#include "spi.h"<br />
#include "timer.h"<br />
#include "key.h"<br />
#include "led.h"<br />
<br />
extern u8 ov_sta;        //??exit.c?????¨??<br />
extern u8 ov_frame;        //??timer.c?????¨?? <br />
<br />
u8 tmp_buf[33]="abcdefghijklABCDEFGHIJKLM1234567";//----???í????????????<br />
<br />
u16 mycolor;<br />
u8 &nbsp;mycolorH,mycolorL;        &nbsp;<br />
//?ü??LCD????<br />
void camera_refresh(void)<br />
{<br />
u32 j;<br />
&nbsp;        u16 color;<br />
u8 t=0,sss=0; <br />
if(ov_sta==2)<br />
{<br />
LCD_Scan_Dir(U2D_L2R);                //????????,??×ó????&nbsp;<br />
LCD_SetCursor(0x00,0x0000);        //?è????±ê????&nbsp;<br />
LCD_WriteRAM_Prepare(); &nbsp; &nbsp; //????????GRAM <br />
&nbsp;                OV7670_CS=0;        &nbsp;<br />
&nbsp;                OV7670_RRST=0;                                //??????????????&nbsp;<br />
OV7670_RCK=0;<br />
OV7670_RCK=1;<br />
OV7670_RCK=0;<br />
OV7670_RRST=1;                                //???????????á??&nbsp;<br />
OV7670_RCK=1; &nbsp;<br />
for(j=0;j&lt;76800;j++)<br />
{<br />
//                GPIOB-&gt;CRL=0X88888888;                 &nbsp;&nbsp;<br />
OV7670_RCK=0;&nbsp;<br />
color=GPIOC-&gt;IDR&amp;0XFF;        //??????<br />
OV7670_RCK=1; <br />
color&lt;&lt;=8;                                         &nbsp;<br />
&nbsp;                        OV7670_RCK=0;<br />
color|=GPIOC-&gt;IDR&amp;0XFF;        //??????                 &nbsp;<br />
OV7670_RCK=1;&nbsp;<br />
//                GPIOB-&gt;CRL=0X33333333; <br />
LCD-&gt;LCD_RAM=color; <br />
mycolor=color;<br />
mycolorL=mycolor&amp;0x00ff;<br />
mycolorH=(mycolor&gt;&gt;8)&amp;0x00ff;<br />
&nbsp; &nbsp; &nbsp; for(t=0,sss=0;t&lt;16;t++)<br />
{<br />
&nbsp; tmp_buf[2*t]=mycolorH;<br />
&nbsp; tmp_buf[2*t+1]=mycolorL;<br />
&nbsp; sss++,t++;<br />
}<br />
if(sss==16)<br />
{<br />
&nbsp; &nbsp;while(NRF24L01_TxPacket(tmp_buf)!=TX_OK);<br />
sss=0,t=0;<br />
}                &nbsp;<br />
} &nbsp;<br />
&nbsp;                OV7670_CS=1;                                                         &nbsp;<br />
OV7670_RCK=0;&nbsp;<br />
OV7670_RCK=1;&nbsp;<br />
EXTI_ClearITPendingBit(EXTI_Line8); &nbsp;//????LINE8????????±ê????<br />
<br />
ov_sta=0;                                        //??????????????<br />
&nbsp;                ov_frame++;&nbsp;<br />
LCD_Scan_Dir(DFT_SCAN_DIR);        //?????????¨?è·??ò          &nbsp;                                         &nbsp;<br />
}&nbsp;<br />
}         &nbsp;<br />
int main(void)<br />
{<br />
u8 i,t; <br />
delay_init();         &nbsp; &nbsp;         //???±??????????         &nbsp;<br />
NVIC_Configuration();          //?è??NVIC????·?×é2:2??????????????2???ì????????<br />
uart_init(9600);                         //?&reg;??????????9600<br />
LCD_Init();<br />
LED_Init();<br />
OV7670_Init(); <br />
NRF24L01_Init(); &nbsp;                  //??????NRF24L01&nbsp;<br />
while(NRF24L01_Check())//?ì??????24L01<br />
{<br />
//                        LCD_ShowString(60,150,200,16,16,"24L01 Check Failed!");<br />
printf("24L01 Check Failed!");<br />
delay_ms(5000);<br />
}<br />
NRF24L01_TX_Mode();<br />
//        LED0=0;<br />
LCD_ShowString(60,150,200,16,16,"24L01 Init OK!");<br />
delay_ms(1500); <br />
//        printf("24L01 Check OK!");<br />
if(lcddev.id==0X6804)         //?????è??????·?±?????320*240.???§??3.5???ó??<br />
{<br />
lcddev.width=240;<br />
lcddev.height=320;&nbsp;<br />
}<br />
&nbsp;        POINT_COLOR=RED;                //?è??×??????ì??&nbsp;<br />
while(OV7670_Init())//??????OV7670<br />
{<br />
//        LCD_ShowString(60,150,200,200,16,"OV7670 Error!!");<br />
printf("OV7670 Error!!");<br />
//        delay_ms(200);<br />
//        LCD_Fill(60,230,239,246,WHITE);<br />
delay_ms(200);<br />
}<br />
LCD_ShowString(60,150,200,16,16,"OV7670 Init OK");<br />
// &nbsp;printf("OV7670 Init OK");<br />
delay_ms(1500); <br />
&nbsp; TIM6_Int_Init(10000,7199); <br />
&nbsp; EXTI8_Init();<br />
OV7670_Window_Set(10,174,240,320);        //?è???°??         &nbsp;<br />
&nbsp; OV7670_CS=0;                                                         &nbsp;<br />
&nbsp;        while(1)<br />
{ <br />
&nbsp;                camera_refresh();        //?ü??????        &nbsp;<br />
&nbsp;                if(i!=ov_frame)                //DS0????.<br />
{<br />
i=ov_frame;<br />
LED0=!LED0;<br />
&nbsp;                }<br />
}         &nbsp;&nbsp;<br />
}<br />
这是主函数和摄像头刷新部分的程序<br />
<br />

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-9-10
在线时间
0 小时
 楼主| 发表于 2014-11-8 15:47:01 | 显示全部楼层
其他的都是原子哥的程序,这里是自己搞的,请问这个发送有问题吗?
回复

使用道具 举报

1

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2014-9-29
在线时间
0 小时
发表于 2014-11-8 16:04:16 | 显示全部楼层
暂时还没用到2.4g&nbsp;模块,过来学习下。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-11-8 19:01:36 | 显示全部楼层
用这个NRF24L01_TxPacket没错。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-9-10
在线时间
0 小时
 楼主| 发表于 2014-11-8 20:46:14 | 显示全部楼层
经过检测后发现时有发射,接收端有问题,而且传输的速度非常慢,怎么破
回复

使用道具 举报

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-9-10
在线时间
0 小时
 楼主| 发表于 2014-11-8 20:46:37 | 显示全部楼层
回复【4楼】正点原子:
<br>---------------------------------
<br>经过检测后发现时有发射,接收端有问题,而且传输的速度非常慢,怎么破
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-11-8 21:55:41 | 显示全部楼层
回复【6楼】青春搏击:
<br>---------------------------------
<br>具体速度是多少?
<br>我测试NRF,速度也就60KB/S左右。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-9-10
在线时间
0 小时
 楼主| 发表于 2014-11-8 21:56:53 | 显示全部楼层
回复【7楼】正点原子:
<br>---------------------------------
<br>具体不知道速度多少,肯定少于60,是不是程序的问题
回复

使用道具 举报

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-9-10
在线时间
0 小时
 楼主| 发表于 2014-11-8 22:00:14 | 显示全部楼层
回复【7楼】正点原子:
<br>---------------------------------
<br>#include&nbsp;&quot;stm32f10x.h&quot;
<br>#include&nbsp;&quot;usart.h&quot;
<br>#include&nbsp;&quot;sys.h&quot;
<br>#include&nbsp;&quot;delay.h&quot;
<br>#include&nbsp;&quot;lcd.h&quot;
<br>#include&nbsp;&quot;key.h&quot;
<br>#include&nbsp;&quot;led.h&quot;
<br>#include&nbsp;&quot;24l01.h&quot;
<br>#include&nbsp;&quot;spi.h&quot;
<br>
<br>int&nbsp;main(void)
<br>{
<br>        u16        wqh_times=4800;
<br>        u8&nbsp;t=0;                        &nbsp;
<br>        u8&nbsp;tmp_buf[33];
<br>       
<br>        delay_init();        &nbsp;&nbsp;&nbsp;&nbsp;        &nbsp;                        //???±??????????        &nbsp;&nbsp;
<br>        NVIC_Configuration();&nbsp;                //?è??NVIC????·?×é2:2??????????????2???ì????????
<br>        uart_init(9600);        &nbsp;&nbsp;                        //????????????9600
<br>        delay_ms(200);&nbsp;       
<br>        LCD_Init();                                                                //?????????§&nbsp;&nbsp;
<br>        delay_ms(200);&nbsp;                &nbsp;&nbsp;
<br>        KEY_Init();        &nbsp;                                                        //°??ü??????
<br>        LED_Init();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                        //LED??????
<br>        NRF24L01_Init();&nbsp;&nbsp;&nbsp;&nbsp;                        //??????NRF24L01       
<br>        POINT_COLOR=RED;                                        //?è??×??????ì??        &nbsp;&nbsp;&nbsp;
<br>//        LCD_ShowString(60,50,300,16,16,&quot;&nbsp;&nbsp;Zhuang&nbsp;Jing&nbspo&nbsp;&quot;);
<br>//        LCD_ShowString(60,70,300,16,16,&quot;&nbsp;&nbsp;NRF24L01&nbsp;TEST&nbsp;&nbsp;&quot;);       
<br>//        LCD_ShowString(60,90,300,16,16,&quot;&nbsp;&nbsp;Bi&nbsp;She&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;);
<br>        while(NRF24L01_Check())//?ì??????24L01
<br>        {
<br>                LCD_ShowString(60,130,300,16,16,&quot;24L01&nbsp;Check&nbsp;Failed!&quot;);
<br>                delay_ms(500);
<br>                LCD_ShowString(60,130,300,16,16,&quotlease&nbsp;Check!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;);
<br>                delay_ms(500);
<br>                LED0=!LED0;//DS0????
<br>        }
<br>        LCD_Fill(10,150,240,166,WHITE);//??????????????                &nbsp;&nbsp;
<br>&nbsp;        POINT_COLOR=BLUE;                                        //?è??×?????????        &nbsp;&nbsp;&nbsp;
<br>//        {
<br>//                LCD_ShowString(60,150,300,16,16,&quot;NRF24L01&nbsp;RX_Mode&quot;);       
<br>//                LCD_ShowString(60,170,300,16,16,&quot;Received&nbsp;DATA:&quot;);       
<br>                LCD_Fill(10,150,240,166,WHITE);//??????????????                &nbsp;&nbsp;
<br>                NRF24L01_RX_Mode();       
<br>                if(lcddev.id==0X6804)&nbsp;        //?????è??????·?±?????320*240.???§??3.5???ó??
<br>                {
<br>                        lcddev.width=240;
<br>                        lcddev.height=320;&nbsp;
<br>                }
<br>//                OV7670_Window_Set(10,174,240,320);        //?è???°??        &nbsp;&nbsp;
<br>                while(1)
<br>                {
<br>                                        if(wqh_times==4800)
<br>                                        {
<br>                                                        LCD_Scan_Dir(DFT_SCAN_DIR);        //?????????¨?è·??ò
<br>                                                        LCD_Scan_Dir(U2D_L2R);                //????????,??×ó????&nbsp;
<br>                                                        LCD_SetCursor(0x00,0x0000);        //?è????±ê????&nbsp;
<br>                                                        LCD_WriteRAM_Prepare();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//????????GRAM               
<br>                                                        wqh_times=0;       
<br>                                        }
<br>                                        if(NRF24L01_RxPacket(tmp_buf)==0)//??????????????,?ò????????.
<br>                                        {
<br>                                                tmp_buf[32]=0;//????×?·????á??·?
<br>                                                LCD_ShowString(0,190,300,32,16,tmp_buf);&nbsp;
<br>                                                for(t=0;t&lt;16;t++)
<br>                                                                LCD_WR_DATA(tmp_buf[2*t]*256+tmp_buf[2*t+1]);
<br>                                                wqh_times++;
<br>                                        }
<br>                                        else&nbsp;
<br>                                                delay_us(100);        &nbsp;&nbsp;&nbsp;
<br>                                                t++;
<br>                                                if(t==10000)//?ó??1s????±?????×???
<br>                                                {
<br>                                                        t=0;
<br>                                                        LED0=!LED0;
<br>                                                }&nbsp;                       
<br>                }
<br>//        }
<br>}
<br>这是接收部分的程序,不知道哪里有问题请指教
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-11-8 22:06:49 | 显示全部楼层
回复【9楼】青春搏击:
<br>---------------------------------
<br>自己慢慢分析下吧。
<br>最快就是60KB,然后一帧图片,要3秒钟左右才能传递过去。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-9-10
在线时间
0 小时
 楼主| 发表于 2014-11-8 22:10:02 | 显示全部楼层
回复【10楼】正点原子:
<br>---------------------------------
<br>我也是刚学无线这东西,还不是很懂,还请指教一下
回复

使用道具 举报

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-9-10
在线时间
0 小时
 楼主| 发表于 2014-11-9 12:53:46 | 显示全部楼层
回复【10楼】正点原子:
<br>---------------------------------
<br>数据有传输过去,但是传过来的完全不是摄像头的内容
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 15:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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