发 帖  
原厂入驻New
[问答] 24l01无线传输摄像头拍的图像发射有问题怎么办
516 摄像头
分享
发射端不知道有没有问题,接受端没有收到,原子哥指导下!<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  mycolorH,mycolorL;         <br />
//?ü??LCD????<br />
void camera_refresh(void)<br />
{<br />
u32 j;<br />
         u16 color;<br />
u8 t=0,sss=0; <br />
IF(ov_sta==2)<br />
{<br />
LCD_Scan_Dir(U2D_L2R);                //????????,??×ó???? <br />
LCD_SetCursor(0x00,0x0000);        //?è????±ê???? <br />
LCD_WriteRAM_Prepare();     //????????GRAM <br />
                 OV7670_CS=0;         <br />
                 OV7670_RRST=0;                                //?????????????? <br />
OV7670_RCK=0;<br />
OV7670_RCK=1;<br />
OV7670_RCK=0;<br />
OV7670_RRST=1;                                //???????????á?? <br />
OV7670_RCK=1;  <br />
for(j=0;j<76800;j++)<br />
{<br />
//                GPIOB->CRL=0X88888888;                   <br />
OV7670_RCK=0; <br />
color=GPIOC->IDR&0XFF;        //??????<br />
OV7670_RCK=1; <br />
color<<=8;                                          <br />
                         OV7670_RCK=0;<br />
color|=GPIOC->IDR&0XFF;        //??????                  <br />
OV7670_RCK=1; <br />
//                GPIOB->CRL=0X33333333; <br />
LCD->LCD_RAM=color; <br />
mycolor=color;<br />
mycolorL=mycolor&0x00ff;<br />
mycolorH=(mycolor>>8)&0x00ff;<br />
      for(t=0,sss=0;t<16;t++)<br />
{<br />
  tmp_buf[2*t]=mycolorH;<br />
  tmp_buf[2*t+1]=mycolorL;<br />
  sss++,t++;<br />
}<br />
if(sss==16)<br />
{<br />
   while(NRF24L01_TxPacket(tmp_buf)!=TX_OK);<br />
sss=0,t=0;<br />
}                 <br />
}  <br />
                 OV7670_CS=1;                                                          <br />
OV7670_RCK=0; <br />
OV7670_RCK=1; <br />
EXTI_ClearITPendingBit(EXTI_Line8);  //????LINE8????????±ê????<br />
<br />
ov_sta=0;                                        //??????????????<br />
                 ov_frame++; <br />
LCD_Scan_Dir(DFT_SCAN_DIR);        //?????????¨?è·??ò                                                     <br />
} <br />
}          <br />
int main(void)<br />
{<br />
u8 i,t; <br />
delay_init();                     //???±??????????          <br />
NVIC_Configuration();          //?è??NVIC????·?×é2:2??????????????2???ì????????<br />
uart_init(9600);                         //?®??????????9600<br />
LCD_Init();<br />
LED_Init();<br />
OV7670_Init(); <br />
NRF24L01_Init();                    //??????NRF24L01 <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; <br />
}<br />
         POINT_COLOR=RED;                //?è??×??????ì?? <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 />
//  printf("OV7670 Init OK");<br />
delay_ms(1500); <br />
  TIM6_Int_Init(10000,7199); <br />
  EXTI8_Init();<br />
OV7670_Window_Set(10,174,240,320);        //?è???°??          <br />
  OV7670_CS=0;                                                          <br />
         while(1)<br />
{ <br />
                 camera_refresh();        //?ü??????         <br />
                 if(i!=ov_frame)                //DS0????.<br />
{<br />
i=ov_frame;<br />
LED0=!LED0;<br />
                 }<br />
}           <br />
}<br />
这是主函数和摄像头刷新部分的程序<br />
<br />
0
2020-5-20 09:57:06   评论 分享淘帖 邀请回答
11个回答
其他的都是原子哥的程序,这里是自己搞的,请问这个发送有问题吗?
2020-5-20 11:33:17 评论

举报

暂时还没用到2.4g&nbsp;模块,过来学习下。
2020-5-20 11:50:58 评论

举报

用这个NRF24L01_TxPacket没错。
2020-5-20 12:04:14 评论

举报

经过检测后发现时有发射,接收端有问题,而且传输的速度非常慢,怎么破
2020-5-20 12:14:29 评论

举报

<br>经过检测后发现时有发射,接收端有问题,而且传输的速度非常慢,怎么破
2020-5-20 12:31:24 评论

举报

<br>具体速度是多少?
<br>我测试NRF,速度也就60KB/S左右。
2020-5-20 12:42:05 评论

举报

<br>具体不知道速度多少,肯定少于60,是不是程序的问题
2020-5-20 12:49:09 评论

举报

<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>这是接收部分的程序,不知道哪里有问题请指教
2020-5-20 12:56:04 评论

举报

<br>自己慢慢分析下吧。
<br>最快就是60KB,然后一帧图片,要3秒钟左右才能传递过去。
2020-5-20 13:11:52 评论

举报

<br>我也是刚学无线这东西,还不是很懂,还请指教一下
2020-5-20 13:21:41 评论

举报

<br>数据有传输过去,但是传过来的完全不是摄像头的内容
2020-5-20 13:40:24 评论

举报

只有小组成员才能发言,加入小组>>

106个成员聚集在这个小组

加入小组

热门话题

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

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