OpenEdv-开源电子网

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

24L01部分调试-TX模式下 返回MAX

[复制链接]

13

主题

206

帖子

1

精华

高级会员

Rank: 4

积分
613
金钱
613
注册时间
2014-10-26
在线时间
32 小时
发表于 2015-4-28 23:58:26 | 显示全部楼层 |阅读模式
5金钱
最近在研究OV7670+24L01的图像传输,搞了好多天了,现在分模块一步步来<br />
现在单独调24l01发现 数据发不出去,返回max 大神们帮看看代码<br />
板子是 mini32 v3.0<br />
备注的请跳过是OV7670的,已经屏蔽掉他们了 但24L01还是不正常~
<div   style="background-color:#E8E8E8;">
[mw_shl_code=c,true]#include "sys.h"
#include "usart.h"               
#include "delay.h"       
#include "led.h"   
#include "lcd.h"
#include "ov7670.h"
#include "exti.h"
#include "timer.h"
#include "24l01.h"  
#include "spi.h"
//ALIENTEK Mini STM32??·?°??&copy;?????é9
//?????·???é
//?????§????www.openedv.com
//?????????í??×?????????????  


extern u8 ov_sta;        //??exit.c?????¨??
extern u8 ov_frame;        //??timer.c?????¨??                 

//?ü??LCD????
void camera_refresh(void)
{
        u16 j , i;
        u16 color;         
        u8 h_txbuf[31],l_txbuf[31];
         u8 color_l,color_h;
        if(ov_sta==2)
        {
                LCD_Scan_Dir(U2D_L2R);                //????????,??×ó????
                LCD_SetCursor(0x00,0x0000);        //?è????±ê????
                LCD_WriteRAM_Prepare();     //????????GRAM       
                OV7670_CS=0;         
                OV7670_RRST=0;                                //??????????????
                OV7670_RCK=0;
                OV7670_RCK=1;
                OV7670_RCK=0;
                OV7670_RRST=1;                                //???????????á??
                OV7670_RCK=1;  
               
                for(j=0;j&lt;2400;j++)//????????
                {
                       
                        for(i=0;i&lt;32;i++)
                        {
                                GPIOB-&gt;CRL=0X88888888;       
                                OV7670_RCK=0;                       
                                color_h=GPIOB-&gt;IDR&amp;0Xff;         //????×???????
                                h_txbuf=color_h;   
                                OV7670_RCK=1;

                                OV7670_RCK=0;       
                                color_l=GPIOB-&gt;IDR&amp;0Xff;   //????×???????
                          l_txbuf=color_l;                               
                                OV7670_RCK=1;
               
                                color=color_h&amp;0xff;
                                color&lt;&lt;=8;                          //????
                                color|=color_l&amp;0xff;
                                GPIOB-&gt;CRL=0X33333333;
                          LCD_WR_DATA(color);  //????
       
                           }                       
                         while(NRF24L01_TxPacket(h_txbuf)!=TX_OK);
                         while(NRF24L01_TxPacket(l_txbuf)!=TX_OK);  ///????·????ê????
                }

                         OV7670_CS=1;                                                          
                OV7670_RCK=0;
                OV7670_RCK=1;
                EXTI-&gtR=1&lt;&lt;15;                     //????LINE8????????±ê????
                ov_sta=0;                                        //??????????????
                ov_frame++;
                LCD_Scan_Dir(DFT_SCAN_DIR);        //?????????¨?è·??ò          
        }
                               
//                               
//                        GPIOB-&gt;CRL=0X88888888;                  
//                        OV7670_RCK=0;
//                        color=OV7670_DATA;                //??????  #define OV7670_DATA   GPIOB-&gt;IDR&amp;0x00FF  

//                        h_txbuf[31]=i;       
//                        printf("\r\n %d\r\n",h_txbuf);       
//                               
//                        OV7670_RCK=1;        
//                        color&lt;&lt;=8;                                          
//                       
//                         OV7670_RCK=0;
//                        color|=OV7670_DATA;                //??????       
//                //        l_txbuf[31]=(u8)(color &gt;&gt;8);       
//                        OV7670_RCK=1;
//                        GPIOB-&gt;CRL=0X33333333;                                                          
//                        LCD_WR_DATA(color);         
//                        }
//                       
//                        while(NRF24L01_TxPacket(h_txbuf)!=TX_OK);
////                         while(NRF24L01_TxPacket(l_txbuf)!=TX_OK);  ///????·????ê????
//                }  
//               
//               
//               
//                 OV7670_CS=1;                                                          
//                OV7670_RCK=0;
//                OV7670_RCK=1;
//                EXTI-&gtR=1&lt;&lt;15;                     //????LINE8????????±ê????
//                ov_sta=0;                                        //??????????????
//                 ov_frame++;
//                LCD_Scan_Dir(DFT_SCAN_DIR);        //?????????¨?è·??ò                                                     
//        }
}          
int main(void)
{       
        u8 key,mode;
        u16 t=0;                         
        u8 tmp_buf[32];
       
       
        u8 i;       
           Stm32_Clock_Init(9);        //?????±???è??
        uart_init(9600);                 //?&reg;??????????9600
        delay_init();                            //???±??????
        NRF24L01_Init();            //??????NRF24L01       
        //OV7670_Init();
        LED_Init();                                  //????????LED??????????????
        LCD_Init();                                   //??????LCD
        if(lcddev.id==0X6804||lcddev.id==0X5310||lcddev.id==0X5510) //?????è??????·?±?????320*240.???§??3.5???ó??
        {
                lcddev.width=240;
                lcddev.height=320;
        }
        POINT_COLOR=RED;//?è??×??????ì??
        LCD_ShowString(60,50,200,200,16,"Mini STM32");       
        LCD_ShowString(60,70,200,200,16,"OV7670 TEST");       
        LCD_ShowString(60,90,200,200,16,"ATOM@ALIENTEK");
        LCD_ShowString(60,110,200,200,16,"2014/3/27");           
        LCD_ShowString(60,130,200,200,16,"Use USMART To Set!");         
       
  LCD_ShowString(60,150,200,200,16,"OV7670 Init...");          
//        while(OV7670_Init())//??????OV7670
//        {
//                LCD_ShowString(60,150,200,200,16,"OV7670 Error!!");
//                delay_ms(200);
//            LCD_Fill(60,150,239,166,WHITE);
//                delay_ms(200);
//        }
//         LCD_ShowString(60,150,200,200,16,"OV7670 Init OK");
       
         LCD_ShowString(60,180,200,200,16,"nrf24l01 Init...");       
                while(NRF24L01_Check())        //?ì?éNRF24L01??·?????.       
        {
                LCD_ShowString(60,180,200,16,16,"NRF24L01 Error");
                delay_ms(200);
                LCD_Fill(60,180,239,130+16,WHITE);
                delay_ms(200);
        }                                                                  
        LCD_ShowString(60,180,200,16,16,"NRF24L01 OK      ");
        delay_ms(1500);                              
       
        //TIM3_Int_Init(10000,7199);                        //TIM3,10Khz????????,1????????                                                                          
        //EXTI15_Init();                                                //?????¨?±?÷????
//        OV7670_Window_Set(10,174,240,320);        //?è???°??          
//  OV7670_CS=0;                                                          
       
        NRF24L01_TX_Mode();//·???????
        LCD_ShowString(60,180,200,16,16,"WAIT TX...     ");
        while(1)
        {       
               
                if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
                        {
                                LCD_ShowString(60,170,239,32,16,"Sended DATA:");       
                                LCD_ShowString(0,190,239,32,16,tmp_buf);
                                key=mode;
                                for(t=0;t&lt;32;t++)
                                {
                                        key++;
                                        if(key&gt;('~'))key=' ';
                                        tmp_buf[t]=key;       
                                }
                               
                               
                                mode++;
                                if(mode&gt;'~')mode=' ';            
                                tmp_buf[31]=0;//?????á??·?               
        LED0=~LED0;
        delay_ms(500);                               
                        }
                        if(NRF24L01_TxPacket(tmp_buf)==MAX_TX)
                        {
                                LCD_ShowString(60,170,239,32,16,"MAX          :");       
       
                                }
                        else if(NRF24L01_TxPacket(tmp_buf)==MAX_TX)
                        {
                                LCD_ShowString(60,170,239,32,16,"MAX          :");       
       
                                }
                        else
                                {
                                LCD_ShowString(60,170,239,32,16,"FAIL            :");       
       
                                }
//                 camera_refresh();        //?ü??????         
//                 if(i!=ov_frame)                //DS0????.
//                {
//                        i=ov_frame;
//                        LED0=!LED0;
//                 }
//               
                        LED1=~LED1;
                        delay_ms(1000);
        }          
}

[/mw_shl_code]
</div>
<br />

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 12:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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