RoLa接收

 

 

///////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////

////////////////////main///////////////////////////////////////////////////

#include <reg52.h>
#include <intrins.h>
#include <stdio.h>
#include <string.h>
#include "spi.h"
#include "sx1278.h"
#include "chuanko.h"
#define u8   unsigned char 
#define u16  unsigned int
////////////////////////////////////////////////////////////////
sbit    LED=P2^0;
#define rx_yes LED=0;
#define rx_no  LED=1;
///////////////////////////////////////////////////////////////
u8   xdata  RxData[64];
u8   xdata  sx1276_7_8Data[] = {"123456789009876543210"};//21個字節
u8   rf_rx_packet_length;
u8   mode;//lora--1/FSK--0
u8   Freq_Sel;
u8   Power_Sel;
u8   Lora_Rate_Sel;
u8   BandWide_Sel;
u8   Fsk_Rate_Sel;
u16  SysTime;
//////////////////////////////////////函數聲明//////////////////////////////////////////
void delay_ms(u16 z);
///////////////////////////////////////////////////////////////////////////////////////
main()
{   
    u8 xdata a[30]={0};

    SysTime       = 0;
    mode          = 0x01;//lora mode
    Freq_Sel      = 0x00;//433M
    Power_Sel     = 0x00;//20dB
    Lora_Rate_Sel = 0x06;//擴頻因子爲12
    BandWide_Sel  = 0x07;//125KHZ
    Fsk_Rate_Sel  = 0x00;//FSK模式下的擴頻因子

    sx1276_7_8_Config();//設置頻率,增益,擴頻因子,糾錯編碼率4/5,前導碼12字節
    //擴頻模式初始化      //關閉過流保護,打開低噪聲放大器,打開CRC,顯式報頭,超時,增益自動校正
                        //preambleDetect到DIO映射 DIO0 TxDone
    chuangko();
    while(1)
    {
         sx1276_7_8_LoRaEntryRx();
         if(sx1276_7_8_LoRaRxPacket())
         {
         sx1276_7_8_LoRaEntryTx();
         sx1276_7_8_LoRaTxPacket();
         delay_ms(5000);
             a[0]=RxData[0];    //1
         a[1]=RxData[1];    //2
         a[2]=RxData[2];    //3
         a[3]=RxData[3];    //4
         a[4]=RxData[4];    //5
         a[5]=RxData[5];    //6
         a[6]=RxData[6];    //7
           a[7]=RxData[7];    //8
         a[8]=RxData[8];    //9
         a[9]=RxData[9];    //10
         a[10]=RxData[10];  //11
         a[11]=RxData[11];  //12
         a[12]=RxData[12];  //13
         a[13]=RxData[13];  //14
           a[14]=RxData[14];  //15
         a[15]=RxData[15];  //16
         a[16]=RxData[16];  //17
         a[17]=RxData[17];  //18
         a[18]=RxData[18];  //19
         a[19]=RxData[19];  //20
         a[20]=RxData[20];  //21
         RxData[0]=0x00;    //1
             RxData[1]=0x00;
             RxData[2]=0x00;
             RxData[3]=0x00;
           RxData[4]=0x00;
             RxData[5]=0x00;
             RxData[6]=0x00;
             RxData[7]=0x00;
             RxData[8]=0x00;
           RxData[9]=0x00;
             RxData[10]=0x00;
             RxData[11]=0x00;
             RxData[12]=0x00;
             RxData[13]=0x00;
           RxData[14]=0x00;
             RxData[15]=0x00;
             RxData[16]=0x00;
             RxData[17]=0x00;
             RxData[18]=0x00;
           RxData[19]=0x00;
             RxData[20]=0x00;   //21
         ES=0;
         TI=1;
           printf("DATA ");
         printf("%c",a[0]); //1
         printf("%c",a[1]);
         printf("%c",a[2]);
         printf("%c",a[3]);
         printf("%c",a[4]);
         printf("%c",a[5]);
         printf("%c",a[6]);
           printf("%c",a[7]);
           printf("%c",a[8]);
         printf("%c",a[9]);
           printf("%c",a[10]);
         printf("%c",a[11]);
         printf("%c",a[12]);
         printf("%c",a[13]);
         printf("%c",a[14]);
         printf("%c",a[15]);
           printf("%c",a[16]);
           printf("%c",a[17]);
         printf("%c",a[18]);
           printf("%c",a[19]);
         printf("%c",a[20]); //21
         while(!TI);
         TI=0;
         ES=1; 
         }    
    }    
}
//////////////////////////////////////////////////////////////////////////////////////
void delay_ms(u16 z)
{
u16 x,y;
for(x=z;x>0;x--)
  for(y=114;y>0;y--);
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章