找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5006|回复: 4
打印 上一主题 下一主题
收起左侧

nrf24l01 发射的设置为自动应答 没有接收点 为什么发送完成标志位会被置位

[复制链接]
跳转到指定楼层
楼主
ID:114189 发表于 2016-4-14 17:34 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5黑币
nrf24l01  发射的设置为自动应答  没有接收点 为什么发送完成标志位会被置位  什么原因  求解

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2016-4-14 17:37 | 只看该作者
楼主你把程序上传上来看一下
回复

使用道具 举报

板凳
ID:114189 发表于 2016-4-14 18:12 来自手机 | 只看该作者
admin 发表于 2016-4-14 17:37
楼主你把程序上传上来看一下

环境监测接受工程.zip (58.98 KB, 下载次数: 8)
环境监测原理图工程.zip (321.59 KB, 下载次数: 5)
回复

使用道具 举报

地板
ID:114189 发表于 2016-4-14 18:13 来自手机 | 只看该作者
admin 发表于 2016-4-14 17:37
楼主你把程序上传上来看一下

微信上面可以发那么多字吗?  可以的话 我半小时后发给你  麻烦你了 谢谢
回复

使用道具 举报

5#
ID:114189 发表于 2016-4-14 18:51 | 只看该作者
发送程序(实验板需要复位才会运行 不复位不能正常运行  不知道是怎么回事)
/*****************************************
¹¦ÄÜ£ºNRF24L01É䯵ģ¿éÍ·Îļþ
*****************************************/
#ifndef _NRF24L01_H_
#define _NRF24L01_H_
/*******************************************************/
#define TX_ADDR_WITDH 5        //·¢Ë͵ØÖ·¿í¶ÈÉèÖÃΪ5¸ö×Ö½Ú
#define RX_ADDR_WITDH 5        //½ÓÊÕµØÖ·¿í¶ÈÉèÖÃΪ5¸ö×Ö½Ú
#define TX_DATA_WITDH 4//·¢ËÍÊý¾Ý¿í¶È1¸ö×Ö½Ú
#define RX_DATA_WITDH 4//½ÓÊÕÊý¾Ý¿í¶È1¸ö×Ö½Ú
/*******************ÃüÁî¼Ä´æÆ÷***************************/
#define  R_REGISTER      0x00//¶ÁÈ¡ÅäÖüĴæÆ÷
#define  W_REGISTER      0x20//дÅäÖüĴæÆ÷
#define  R_RX_PAYLOAD          0x61//¶ÁÈ¡RXÓÐЧÊý¾Ý
#define  W_TX_PAYLOAD         0xa0//дTXÓÐЧÊý¾Ý
#define  FLUSH_TX                 0xe1//Çå³ýTXFIFO¼Ä´æÆ÷
#define  FLUSH_RX                 0xe2//Çå³ýRXFIFO¼Ä´æÆ÷
#define  REUSE_TX_PL     0xe3//ÖØÐÂʹÓÃÉÏÒ»°üÓÐЧÊý¾Ý
#define  NOP             0xff//¿Õ²Ù×÷
/******************¼Ä´æÆ÷µØÖ·****************************/
#define  CONFIG          0x00//ÅäÖüĴæÆ÷
#define  EN_AA                         0x01//ʹÄÜ×Ô¶¯Ó¦´ð
#define  EN_RXADDR       0x02//½ÓÊÕͨµÀʹÄÜ0-5¸öͨµÀ
#define  SETUP_AW        0x03//ÉèÖÃÊý¾ÝͨµÀµØÖ·¿í¶È3-5
#define  SETUP_RETR      0x04//½¨Á¢×Ô¶¯ÖØ·¢
#define  RF_CH           0x05//ÉäÆµÍ¨µÀÉèÖÃ
#define  RF_SETUP        0x06//É䯵¼Ä´æÆ÷
#define  STATUS          0x07//״̬¼Ä´æÆ÷
#define  OBSERVE_TX      0x08//·¢Ëͼì²â¼Ä´æÆ÷
#define  CD              0x09//ÔØ²¨
#define  RX_ADDR_P0      0x0a//Êý¾ÝͨµÀ0½ÓÊÕµØÖ·
#define  RX_ADDR_P1      0x0b//Êý¾ÝͨµÀ1½ÓÊÕµØÖ·
#define  RX_ADDR_P2      0x0c//Êý¾ÝͨµÀ2½ÓÊÕµØÖ·
#define  RX_ADDR_P3      0x0d//Êý¾ÝͨµÀ3½ÓÊÕµØÖ·
#define  RX_ADDR_P4      0x0e//Êý¾ÝͨµÀ4½ÓÊÕµØÖ·
#define  RX_ADDR_P5      0x0f//Êý¾ÝͨµÀ5½ÓÊÕµØÖ·
#define  TX_ADDR         0x10//·¢Ë͵ØÖ·
#define  RX_PW_P0        0x11//P0ͨµÀÊý¾Ý¿í¶ÈÉèÖÃ
#define  RX_PW_P1        0x12//P1ͨµÀÊý¾Ý¿í¶ÈÉèÖÃ
#define  RX_PW_P2        0x13//P2ͨµÀÊý¾Ý¿í¶ÈÉèÖÃ
#define  RX_PW_P3        0x14//P3ͨµÀÊý¾Ý¿í¶ÈÉèÖÃ
#define  RX_PW_P4        0x15//P4ͨµÀÊý¾Ý¿í¶ÈÉèÖÃ
#define  RX_PW_P5        0x16//P5ͨµÀÊý¾Ý¿í¶ÈÉèÖÃ
#define  FIFO_STATUS     0x17//FIFO״̬¼Ä´æÆ÷
/*******************Ïà¹Øº¯ÊýÉùÃ÷**************************/
unchar NRFACK();
unchar NRFSPI(unchar date);
unchar NRFReadReg(unchar RegAddr);
unchar NRFWriteReg(unchar RegAddr,unchar date);
unchar NRFReadRxDate(unchar RegAddr,unchar *RxDate,unchar DateLen);
unchar NRFWriteTxDate(unchar RegAddr,unchar *TxDate,unchar DateLen);
unchar NRFRevDate(unchar *RevDate);
void NRFSetTxMode(unchar *TxDate);
void NRF24L01Int();
void NRFSetRXMode();
void Set_Mode(unchar b);
unchar CheckACK();
extern  unchar bdata sta;
/*********************************************************/
#endif


/*****************************************

¹¦ÄÜ£ºNRF24L01É䯵ģ¿éCÎļþ(½Úµã·¢É䲿·Ö)
*****************************************/
#include"reg52.h"
#include"Allhead.h"
sbit CE=P2^0;  //RX/TXģʽѡÔñ¶Ë
sbit CSN=P2^3; //SPIƬѡ¶Ë//¾ÍÊÇSS
sbit IRQ=P2^5; //¿ÉÆÁ±ÎÖж϶Ë
sbit MOSI=P2^4;        //SPIÖ÷»úÊä³ö´Ó»úÊäÈë¶Ë
sbit MISO=P2^2;        //SPIÖ÷»úÊä³ö´Ó»úÊä³ö¶Ë
sbit SCLK=P2^1;        //SPIʱÖÓ¶Ë
unchar code TxAddr[]={0x34,0x43,0x10,0x10,0x01};//·¢Ë͵ØÖ·
/*****************״̬±êÖ¾*****************************************/
unchar bdata sta;   //״̬±êÖ¾
sbit RX_DR=sta^6;
sbit TX_DS=sta^5;
sbit MAX_RT=sta^4;
/********************LED¼ì²â*************************/
sbit LED=P1^4;
void LEDdelay(unsigned int c)   //Îó²î 0us
{
    unsigned char a, b;

        //--cÒѾ­ÔÚ´«µÝ¹ýÀ´µÄʱºòÒѾ­¸³ÖµÁË£¬ËùÒÔÔÚforÓï¾äµÚÒ»¾ä¾Í²»Óø³ÖµÁË--//
    for (;c>0;c--)
        {
                for (b=38;b>0;b--)
                {
                        for (a=130;a>0;a--);
                }
           
        }
        
}
/*****************SPIʱÐòº¯Êý******************************************/
unchar NRFSPI(unchar date)
{
    unchar i;
           for(i=0;i<8;i++)          // &Ntilde;&shy;&raquo;·8&acute;&Icirc;
           {
          if(date&0x80)
            MOSI=1;//(date&0x80);
          else
            MOSI=0;   // byte×&icirc;&cedil;&szlig;&Icirc;&raquo;&Ecirc;&auml;&sup3;&ouml;&micro;&frac12;MOSI
             date<<=1;             // &micro;&Iacute;&Ograve;&raquo;&Icirc;&raquo;&Ograve;&AElig;&Icirc;&raquo;&micro;&frac12;×&icirc;&cedil;&szlig;&Icirc;&raquo;
             SCLK=1;
          if(MISO)               // &Agrave;&shy;&cedil;&szlig;SCK&pound;&not;nRF24L01&acute;&Oacute;MOSI&para;&Aacute;&Egrave;&euml;1&Icirc;&raquo;&Ecirc;&yacute;&frac34;&Yacute;&pound;&not;&Iacute;&not;&Ecirc;±&acute;&Oacute;MISO&Ecirc;&auml;&sup3;&ouml;1&Icirc;&raquo;&Ecirc;&yacute;&frac34;&Yacute;
               date|=0x01;               // &para;&Aacute;MISO&micro;&frac12;byte×&icirc;&micro;&Iacute;&Icirc;&raquo;
             SCLK=0;                    // SCK&Ouml;&Atilde;&micro;&Iacute;
           }
    return(date);                   // ·&micro;&raquo;&Oslash;&para;&Aacute;&sup3;&ouml;&micro;&Auml;&Ograve;&raquo;×&Ouml;&frac12;&Uacute;
}
/**********************NRF24L01&sup3;&otilde;&Ecirc;&frac14;&raquo;&macr;&ordm;&macr;&Ecirc;&yacute;*******************************/
void NRF24L01Int()
{
        Delay(2);//&Egrave;&Atilde;&Iuml;&micro;&Iacute;&sup3;&Ecirc;&sup2;&Atilde;&acute;&para;&frac14;&sup2;&raquo;&cedil;&Eacute;
        CE=0; //&acute;&yacute;&raquo;ú&Auml;&pound;&Ecirc;&frac12;1   
        CSN=1;  
        SCLK=0;
        IRQ=1;         
}
/*****************SPI&para;&Aacute;&frac14;&Auml;&acute;&aelig;&AElig;÷&Ograve;&raquo;×&Ouml;&frac12;&Uacute;&ordm;&macr;&Ecirc;&yacute;*********************************/
unchar NRFReadReg(unchar RegAddr)
{
   unchar BackDate;
   CSN=0;//&AElig;&ocirc;&para;&macr;&Ecirc;±&ETH;ò
   NRFSPI(RegAddr);//&ETH;&acute;&frac14;&Auml;&acute;&aelig;&AElig;÷&micro;&Oslash;&Ouml;·
   BackDate=NRFSPI(0x00);//&ETH;&acute;&Egrave;&euml;&para;&Aacute;&frac14;&Auml;&acute;&aelig;&AElig;÷&Ouml;&cedil;&Aacute;&icirc;  
   CSN=1;
   return(BackDate); //·&micro;&raquo;&Oslash;×&acute;&Igrave;&not;
}
/*****************SPI&ETH;&acute;&frac14;&Auml;&acute;&aelig;&AElig;÷&Ograve;&raquo;×&Ouml;&frac12;&Uacute;&ordm;&macr;&Ecirc;&yacute;*********************************/
unchar NRFWriteReg(unchar RegAddr,unchar date)
{
   unchar BackDate;
   CSN=0;//&AElig;&ocirc;&para;&macr;&Ecirc;±&ETH;ò
   BackDate=NRFSPI(RegAddr);//&ETH;&acute;&Egrave;&euml;&micro;&Oslash;&Ouml;·
   NRFSPI(date);//&ETH;&acute;&Egrave;&euml;&Ouml;&micro;
   CSN=1;
   return(BackDate);
}
/*****************SPI&para;&Aacute;&Egrave;&iexcl;RXFIFO&frac14;&Auml;&acute;&aelig;&AElig;÷&micro;&Auml;&Ouml;&micro;********************************/
unchar NRFReadRxDate(unchar RegAddr,unchar *RxDate,unchar DateLen)
{  //&frac14;&Auml;&acute;&aelig;&AElig;÷&micro;&Oslash;&Ouml;·//&para;&Aacute;&Egrave;&iexcl;&Ecirc;&yacute;&frac34;&Yacute;&acute;&aelig;·&Aring;±&auml;&Aacute;&iquest;//&para;&Aacute;&Egrave;&iexcl;&Ecirc;&yacute;&frac34;&Yacute;&sup3;¤&para;&Egrave;//&Oacute;&Atilde;&Oacute;&Uacute;&frac12;&Oacute;&Ecirc;&Otilde;
    unchar BackDate,i;
        CSN=0;//&AElig;&ocirc;&para;&macr;&Ecirc;±&ETH;ò
        BackDate=NRFSPI(RegAddr);//&ETH;&acute;&Egrave;&euml;&Ograve;&ordf;&para;&Aacute;&Egrave;&iexcl;&micro;&Auml;&frac14;&Auml;&acute;&aelig;&AElig;÷&micro;&Oslash;&Ouml;·
        for(i=0;i<DateLen;i++) //&para;&Aacute;&Egrave;&iexcl;&Ecirc;&yacute;&frac34;&Yacute;
          {
             RxDate[i]=NRFSPI(0);
          }
    CSN=1;
   return(BackDate);
}
/*****************SPI&ETH;&acute;&Egrave;&euml;TXFIFO&frac14;&Auml;&acute;&aelig;&AElig;÷&micro;&Auml;&Ouml;&micro;**********************************/
unchar NRFWriteTxDate(unchar RegAddr,unchar *TxDate,unchar DateLen)
{ //&frac14;&Auml;&acute;&aelig;&AElig;÷&micro;&Oslash;&Ouml;·//&ETH;&acute;&Egrave;&euml;&Ecirc;&yacute;&frac34;&Yacute;&acute;&aelig;·&Aring;±&auml;&Aacute;&iquest;//&para;&Aacute;&Egrave;&iexcl;&Ecirc;&yacute;&frac34;&Yacute;&sup3;¤&para;&Egrave;//&Oacute;&Atilde;&Oacute;&Uacute;·&cent;&Euml;&Iacute;
   unchar BackDate,i;
   CSN=0;
   BackDate=NRFSPI(RegAddr);//&ETH;&acute;&Egrave;&euml;&Ograve;&ordf;&ETH;&acute;&Egrave;&euml;&frac14;&Auml;&acute;&aelig;&AElig;÷&micro;&Auml;&micro;&Oslash;&Ouml;·
   for(i=0;i<DateLen;i++)//&ETH;&acute;&Egrave;&euml;&Ecirc;&yacute;&frac34;&Yacute;
     {
            NRFSPI(*TxDate++);
                       
         }   
   CSN=1;
   return(BackDate);
}

/*****************NRF&Eacute;è&Ouml;&Atilde;&Icirc;&ordf;·&cent;&Euml;&Iacute;&Auml;&pound;&Ecirc;&frac12;&sup2;&cent;·&cent;&Euml;&Iacute;&Ecirc;&yacute;&frac34;&Yacute;******************************/
void NRFSetTxMode(unchar *TxDate)
{//·&cent;&Euml;&Iacute;&Auml;&pound;&Ecirc;&frac12;
    CE=0;
           NRFWriteTxDate(W_REGISTER+TX_ADDR,TxAddr,TX_ADDR_WITDH);//&ETH;&acute;&frac14;&Auml;&acute;&aelig;&AElig;÷&Ouml;&cedil;&Aacute;&icirc;+&frac12;&Oacute;&Ecirc;&Otilde;&micro;&Oslash;&Ouml;·&Ecirc;&sup1;&Auml;&Uuml;&Ouml;&cedil;&Aacute;&icirc;+&frac12;&Oacute;&Ecirc;&Otilde;&micro;&Oslash;&Ouml;·+&micro;&Oslash;&Ouml;·&iquest;í&para;&Egrave;
          NRFWriteTxDate(W_REGISTER+RX_ADDR_P0,TxAddr,TX_ADDR_WITDH);//&Icirc;&ordf;&Aacute;&Euml;&Oacute;&brvbar;&acute;&eth;&frac12;&Oacute;&Ecirc;&Otilde;&Eacute;è±&cedil;&pound;&not;&frac12;&Oacute;&Ecirc;&Otilde;&Iacute;¨&micro;&Agrave;0&micro;&Oslash;&Ouml;·&ordm;&Iacute;·&cent;&Euml;&Iacute;&micro;&Oslash;&Ouml;·&Iuml;à&Iacute;&not;
          NRFWriteTxDate(W_TX_PAYLOAD,TxDate,TX_DATA_WITDH);//&ETH;&acute;&Egrave;&euml;&Ecirc;&yacute;&frac34;&Yacute;
          NRFWriteReg(W_REGISTER+EN_AA,0x01);               // &Ecirc;&sup1;&Auml;&Uuml;&frac12;&Oacute;&Ecirc;&Otilde;&Iacute;¨&micro;&Agrave;0×&Ocirc;&para;&macr;&Oacute;&brvbar;&acute;&eth;
          NRFWriteReg(W_REGISTER+EN_RXADDR,0x01);           // &Ecirc;&sup1;&Auml;&Uuml;&frac12;&Oacute;&Ecirc;&Otilde;&Iacute;¨&micro;&Agrave;0
          NRFWriteReg(W_REGISTER+SETUP_RETR,0x0a);  // ×&Ocirc;&para;&macr;&Ouml;&Oslash;·&cent;&Ntilde;&Oacute;&Ecirc;±&micro;&Egrave;&acute;&yacute;250us+86us&pound;&not;×&Ocirc;&para;&macr;&Ouml;&Oslash;·&cent;10&acute;&Icirc;
          NRFWriteReg(W_REGISTER+RF_CH,0x40);                 // &Ntilde;&iexcl;&Ocirc;&ntilde;&Eacute;&auml;&AElig;&micro;&Iacute;¨&micro;&Agrave;0x40
          NRFWriteReg(W_REGISTER+RF_SETUP,0x07);            // &Ecirc;&yacute;&frac34;&Yacute;&acute;&laquo;&Ecirc;&auml;&Acirc;&Ecirc;1Mbps&pound;&not;·&cent;&Eacute;&auml;&sup1;&brvbar;&Acirc;&Ecirc;0dBm&pound;&not;&micro;&Iacute;&Ocirc;&euml;&Eacute;ù·&Aring;&acute;ó&AElig;÷&Ocirc;&ouml;&Ograve;&aelig;
          NRFWriteReg(W_REGISTER+CONFIG,0x0e);        // CRC&Ecirc;&sup1;&Auml;&Uuml;&pound;&not;16&Icirc;&raquo;CRC&ETH;&pound;&Ntilde;é&pound;&not;&Eacute;&Iuml;&micro;&ccedil;  
          CE=1;
          Delay(5);//±&pound;&sup3;&Ouml;10us&Atilde;&euml;&Ograve;&Ocirc;&Eacute;&Iuml;
}
/*****************NRF&Eacute;è&Ouml;&Atilde;&Icirc;&ordf;&frac12;&Oacute;&Ecirc;&Otilde;&Auml;&pound;&Ecirc;&frac12;&sup2;&cent;&frac12;&Oacute;&Ecirc;&Otilde;&Ecirc;&yacute;&frac34;&Yacute;******************************/
//&Ouml;÷&Ograve;&ordf;&frac12;&Oacute;&Ecirc;&Otilde;&Auml;&pound;&Ecirc;&frac12;
void NRFSetRXMode()
{
          CE=0;  
          NRFWriteTxDate(W_REGISTER+RX_ADDR_P0,TxAddr,TX_ADDR_WITDH);  // &frac12;&Oacute;&Ecirc;&Otilde;&Eacute;è±&cedil;&frac12;&Oacute;&Ecirc;&Otilde;&Iacute;¨&micro;&Agrave;0&Ecirc;&sup1;&Oacute;&Atilde;&ordm;&Iacute;·&cent;&Euml;&Iacute;&Eacute;è±&cedil;&Iuml;à&Iacute;&not;&micro;&Auml;·&cent;&Euml;&Iacute;&micro;&Oslash;&Ouml;·
          NRFWriteReg(W_REGISTER+EN_AA,0x01);               // &Ecirc;&sup1;&Auml;&Uuml;&frac12;&Oacute;&Ecirc;&Otilde;&Iacute;¨&micro;&Agrave;0×&Ocirc;&para;&macr;&Oacute;&brvbar;&acute;&eth;
          NRFWriteReg(W_REGISTER+EN_RXADDR,0x01);           // &Ecirc;&sup1;&Auml;&Uuml;&frac12;&Oacute;&Ecirc;&Otilde;&Iacute;¨&micro;&Agrave;0
          NRFWriteReg(W_REGISTER+RF_CH,0x40);                 // &Ntilde;&iexcl;&Ocirc;&ntilde;&Eacute;&auml;&AElig;&micro;&Iacute;¨&micro;&Agrave;0x40
          NRFWriteReg(W_REGISTER+RX_PW_P0,TX_DATA_WITDH);  // &frac12;&Oacute;&Ecirc;&Otilde;&Iacute;¨&micro;&Agrave;0&Ntilde;&iexcl;&Ocirc;&ntilde;&ordm;&Iacute;·&cent;&Euml;&Iacute;&Iacute;¨&micro;&Agrave;&Iuml;à&Iacute;&not;&Oacute;&ETH;&ETH;§&Ecirc;&yacute;&frac34;&Yacute;&iquest;í&para;&Egrave;
          NRFWriteReg(W_REGISTER+RF_SETUP,0x07);            // &Ecirc;&yacute;&frac34;&Yacute;&acute;&laquo;&Ecirc;&auml;&Acirc;&Ecirc;1Mbps&pound;&not;·&cent;&Eacute;&auml;&sup1;&brvbar;&Acirc;&Ecirc;0dBm&pound;&not;&micro;&Iacute;&Ocirc;&euml;&Eacute;ù·&Aring;&acute;ó&AElig;÷&Ocirc;&ouml;&Ograve;&aelig;
          NRFWriteReg(W_REGISTER+CONFIG,0x0f);              // CRC&Ecirc;&sup1;&Auml;&Uuml;&pound;&not;16&Icirc;&raquo;CRC&ETH;&pound;&Ntilde;é&pound;&not;&Eacute;&Iuml;&micro;&ccedil;&pound;&not;&frac12;&Oacute;&Ecirc;&Otilde;&Auml;&pound;&Ecirc;&frac12;
          CE = 1;
          Delay(5);//±&pound;&sup3;&Ouml;10us&Atilde;&euml;&Ograve;&Ocirc;&Eacute;&Iuml;     
}
/****************************&frac14;ì&sup2;&acirc;&Oacute;&brvbar;&acute;&eth;&ETH;&Aring;&ordm;&Aring;******************************/
unchar CheckACK()
{  //&Oacute;&Atilde;&Oacute;&Uacute;·&cent;&Eacute;&auml;
        sta=NRFReadReg(R_REGISTER+STATUS);                    // ·&micro;&raquo;&Oslash;×&acute;&Igrave;&not;&frac14;&Auml;&acute;&aelig;&AElig;÷
        if(TX_DS==1)fffffffffffffffffffffffffffffffffffffffffffffffffffffff//||MAX_RT) //·&cent;&Euml;&Iacute;&Iacute;ê±&Iuml;&Ouml;&ETH;&para;&Iuml;
        {
            LED = 0; //&Ouml;&Atilde;P0&iquest;&Uacute;&Icirc;&ordf;&micro;&Iacute;&micro;&ccedil;&AElig;&frac12;
                  LEDdelay(50); //&micro;÷&Oacute;&Atilde;&Ntilde;&Oacute;&Ecirc;±&sup3;&Igrave;&ETH;ò&pound;&not;&ETH;&THORN;&cedil;&Auml;&Agrave;¨&ordm;&Aring;&Agrave;&iuml;&Atilde;&aelig;&micro;&Auml;&Ouml;&micro;&iquest;&Eacute;&Ograve;&Ocirc;&micro;÷&Otilde;&ucirc;&Ntilde;&Oacute;&Ecirc;±&Ecirc;±&frac14;&auml;
                  LED= 1; //&Ouml;&Atilde;P0&iquest;&Uacute;&Icirc;&ordf;&cedil;&szlig;&micro;&ccedil;&AElig;&frac12;
                  LEDdelay(50); // &micro;÷&Oacute;&Atilde;&Ntilde;&Oacute;&Ecirc;±&sup3;&Igrave;&ETH;ò
                  NRFWriteReg(W_REGISTER+STATUS,0xff);  // &Ccedil;&aring;&sup3;&yacute;TX_DS&raquo;òMAX_RT&Ouml;&ETH;&para;&Iuml;±ê&Ouml;&frac34;
            CSN=0;
            NRFSPI(FLUSH_TX);//&Oacute;&Atilde;&Oacute;&Uacute;&Ccedil;&aring;&iquest;&Otilde;FIFO &pound;&iexcl;&pound;&iexcl;&sup1;&Oslash;&frac14;ü&pound;&iexcl;&pound;&iexcl;&sup2;&raquo;&Egrave;&raquo;&raquo;á&sup3;&ouml;&Iuml;&Ouml;&Ograve;&acirc;&Iuml;&euml;&sup2;&raquo;&micro;&frac12;&micro;&Auml;&ordm;ó&sup1;&ucirc;&pound;&iexcl;&pound;&iexcl;&pound;&iexcl;&acute;ó&frac14;&Ograve;&frac14;&Ccedil;×&iexcl;&pound;&iexcl;&pound;&iexcl;  
      CSN=1;
            return(0);
        }
        else
        {
                  LED = 0; //&Ouml;&Atilde;P0&iquest;&Uacute;&Icirc;&ordf;&micro;&Iacute;&micro;&ccedil;&AElig;&frac12;
                  LEDdelay(200); //&micro;÷&Oacute;&Atilde;&Ntilde;&Oacute;&Ecirc;±&sup3;&Igrave;&ETH;ò&pound;&not;&ETH;&THORN;&cedil;&Auml;&Agrave;¨&ordm;&Aring;&Agrave;&iuml;&Atilde;&aelig;&micro;&Auml;&Ouml;&micro;&iquest;&Eacute;&Ograve;&Ocirc;&micro;÷&Otilde;&ucirc;&Ntilde;&Oacute;&Ecirc;±&Ecirc;±&frac14;&auml;
                  LED= 1; //&Ouml;&Atilde;P0&iquest;&Uacute;&Icirc;&ordf;&cedil;&szlig;&micro;&ccedil;&AElig;&frac12;
                  LEDdelay(200); // &micro;÷&Oacute;&Atilde;&Ntilde;&Oacute;&Ecirc;±&sup3;&Igrave;&ETH;ò
                  return(1);
        }
}
/******************&Aring;&ETH;&para;&Iuml;&Ecirc;&Ccedil;·&ntilde;&frac12;&Oacute;&Ecirc;&Otilde;&Ecirc;&Otilde;&micro;&frac12;&Ecirc;&yacute;&frac34;&Yacute;&pound;&not;&frac12;&Oacute;&micro;&frac12;&frac34;&Iacute;&acute;&Oacute;RX&Egrave;&iexcl;&sup3;&ouml;*********************/
//&Oacute;&Atilde;&Oacute;&Uacute;&frac12;&Oacute;&Ecirc;&Otilde;&Auml;&pound;&Ecirc;&frac12;
unchar NRFRevDate(unchar *RevDate)
{
            unchar RevFlags=0;
         sta=NRFReadReg(R_REGISTER+STATUS);//·&cent;&Euml;&Iacute;&Ecirc;&yacute;&frac34;&Yacute;&ordm;ó&para;&Aacute;&Egrave;&iexcl;×&acute;&Igrave;&not;&frac14;&Auml;&acute;&aelig;&AElig;÷
     if(RX_DR)                                // &Aring;&ETH;&para;&Iuml;&Ecirc;&Ccedil;·&ntilde;&frac12;&Oacute;&Ecirc;&Otilde;&micro;&frac12;&Ecirc;&yacute;&frac34;&Yacute;
         {
            CE=0;                         //SPI&Ecirc;&sup1;&Auml;&Uuml;
                NRFReadRxDate(R_RX_PAYLOAD,RevDate,RX_DATA_WITDH);// &acute;&Oacute;RXFIFO&para;&Aacute;&Egrave;&iexcl;&Ecirc;&yacute;&frac34;&Yacute;
                RevFlags=1;           //&para;&Aacute;&Egrave;&iexcl;&Ecirc;&yacute;&frac34;&Yacute;&Iacute;ê&sup3;&Eacute;±ê&Ouml;&frac34;
          }
         NRFWriteReg(W_REGISTER+STATUS,0xff); //&frac12;&Oacute;&Ecirc;&Otilde;&micro;&frac12;&Ecirc;&yacute;&frac34;&Yacute;&ordm;óRX_DR,TX_DS,MAX_PT&para;&frac14;&Ouml;&Atilde;&cedil;&szlig;&Icirc;&ordf;1&pound;&not;&Iacute;¨&sup1;&yacute;&ETH;&acute;1&Agrave;&acute;&Ccedil;&aring;&sup3;&thorn;&Ouml;&ETH;&para;&Iuml;±ê
         return(RevFlags);
}

/*********************&Ouml;÷&ordm;&macr;&Ecirc;&yacute;***************************/

&sup1;&brvbar;&Auml;&Uuml;&pound;&ordm;NRF24L01&Eacute;&auml;&AElig;&micro;&Auml;&pound;&iquest;éC&Icirc;&Auml;&frac14;&thorn;(·&cent;&Eacute;&auml;&sup2;&iquest;·&Ouml;)
*****************************************/
#include"reg52.h"
#include"Allhead.h"
#include"intrins.h"
void main()
{
         //unchar ReadTempDate0;//,ReadTempDate1;//&para;&Aacute;&Egrave;&iexcl;&Icirc;&Acirc;&para;&Egrave;
   unchar TxDate0[4];//,TxDate1[4];
//         unchar i=0;
         delay1(10);
         //iicInit(); //I2C×&Uuml;&Iuml;&szlig;&sup3;&otilde;&Ecirc;&frac14;&raquo;&macr;
   
         //Set_Mode(0);
   while(1)
         {                     
    //ADC_PCF8591(0x04);
                //if(SystemError == 1)          //&Oacute;&ETH;&acute;í&Icirc;ó&pound;&not;&Ouml;&Oslash;&ETH;&Acirc;&Agrave;&acute;
           //{
                  //iicInit();                                  //I2C×&Uuml;&Iuml;&szlig;&sup3;&otilde;&Ecirc;&frac14;&raquo;&macr;
            //ADC_PCF8591(0x04);
           //}               
                //ReadTempDate0=receivebuf[0];
                NRF24L01Int();
                TxDate0[0]=1;//ReadTempDate0/1000;
                TxDate0[1]=2;//ReadTempDate0%1000/100;
                TxDate0[2]=3;//ReadTempDate0%100/10;
                TxDate0[3]=4;//ReadTempDate0%10;
                 
                NRFSetTxMode(TxDate0);//·&cent;&Euml;&Iacute;&Icirc;&Acirc;&para;&Egrave;
                while(CheckACK());
         }
}
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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