找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5180|回复: 6
收起左侧

51系列的SX1278无线驱动程序+原理图

  [复制链接]
ID:328080 发表于 2018-5-12 10:24 | 显示全部楼层 |阅读模式
ifndef SX1276_7_8_H
#define SX1276_7_8_H
//包含头文件
#include <reg52.h>
#include "spi.h"
//宏定义
#define u8   unsigned char
#define u16  unsigned int

///////////////////////////////////////扩频模式 ///////////////////////////////////////
//纠错编码率(CR)设置
#define  CR_4_5   

#ifdef   CR_4_5
  #define CR    0x01                                       // 4/5
#else
  #ifdef   CR_4_6
    #define CR    0x02                                     // 4/6
  #else
    #ifdef   CR_4_7
      #define CR    0x03                                   // 4/7
    #else
      #ifdef   CR_4_8
        #define CR    0x04                                 // 4/8
      #endif
    #endif
  #endif
#endif

//CRC 使能
#define CRC_EN   

#ifdef  CRC_EN
  #define CRC   0x01//CRC使能
#else
  #define CRC   0x00
#endif

/********************扩频模式寄存器地址定义***************************/
#define LR_RegFifo                                  0x00
//常用设置
#define LR_RegOpMode                                0x01
#define LR_RegFrMsb                                 0x06
#define LR_RegFrMid                                 0x07
#define LR_RegFrLsb                                 0x08
//Tx设置
#define LR_RegPaConfig                              0x09
#define LR_RegPaRamp                                0x0A
#define LR_RegOcp                                   0x0B
//Rx设置
#define LR_RegLna                                   0x0C
//LoRa寄存器
#define LR_RegFifoAddrPtr                           0x0D
#define LR_RegFifoTxBaseAddr                        0x0E
#define LR_RegFifoRxBaseAddr                        0x0F
#define LR_RegFifoRxCurrentaddr                     0x10
#define LR_RegIrqFlagsMask                          0x11
#define LR_RegIrqFlags                              0x12
#define LR_RegRxNbBytes                             0x13
#define LR_RegRxHeaderCntValueMsb                   0x14
#define LR_RegRxHeaderCntValueLsb                   0x15
#define LR_RegRxPacketCntValueMsb                   0x16
#define LR_RegRxPacketCntValueLsb                   0x17
#define LR_RegModemStat                             0x18
#define LR_RegPktSnrValue                           0x19
#define LR_RegPktRssiValue                          0x1A
#define LR_RegRssiValue                             0x1B
#define LR_RegHopChannel                            0x1C
#define LR_RegModemConfig1                          0x1D
#define LR_RegModemConfig2                          0x1E
#define LR_RegSymbTimeoutLsb                        0x1F
#define LR_RegPreambleMsb                           0x20
#define LR_RegPreambleLsb                           0x21
#define LR_RegPayloadLength                         0x22
#define LR_RegMaxPayloadLength                      0x23
#define LR_RegHopPeriod                             0x24
#define LR_RegFifoRxByteAddr                        0x25
//I/O设置
#define REG_LR_DIOMAPPING1                          0x40
#define REG_LR_DIOMAPPING2                          0x41
//版本
#define REG_LR_VERSION                              0x42
//额外设置
#define REG_LR_PLLHOP                               0x44
#define REG_LR_TCXO                                 0x4B
#define REG_LR_PADAC                                0x4D
#define REG_LR_FORMERTEMP                           0x5B
#define REG_LR_AGCREF                               0x61
#define REG_LR_AGCTHRESH1                           0x62
#define REG_LR_AGCTHRESH2                           0x63
#define REG_LR_AGCTHRESH3                           0x64

/********************FSK/ook模式寄存器地址定义***************************/
#define  RegFIFO                                   0x00                                //FIFO
#define  RegOpMode                                  0x01                                //操作模式
#define  RegBitRateMsb                     0x02                                //BR 高位
#define  RegBitRateLsb                     0x03                                //BR 低位
#define  RegFdevMsb                                 0x04                                //FD 高位
#define  RegFdevLsb                                 0x05                                 //FD 低位
#define  RegFreqMsb                                 0x06                                //Freq 高位
#define  RegFreqMid                                 0x07                                 //Freq 中位
#define  RegFreqLsb                       0x08                                //Freq 低位
#define         RegPaConfig                        0x09
#define  RegPaRamp                                0x0a
#define  RegOcp                                        0x0b
#define  RegLna                                        0x0c
#define  RegRxConfig                        0x0d
#define  RegRssiConfig                    0x0e
#define  RegRssiCollision       0x0f
#define  RegRssiThresh                    0x10
#define  RegRssiValue                        0x11
#define  RegRxBw                                0x12
#define  RegAfcBw                                0x13
#define  RegOokPeak                                0x14
#define  RegOokFix                                0x15
#define  RegOokAvg                                0x16
#define  RegAfcFei                                0x1a       
#define  RegAfcMsb                                0x1b
#define  RegAfcLsb                                0x1c
#define  RegFeiMsb                                0x1d
#define  RegFeiLsb                                0x1e
#define  RegPreambleDetect          0x1f
#define  RegRxTimeout1                    0x20
#define  RegRxTimeout2                    0x21
#define  RegRxTimeout3                    0x22
#define  RegRxDelay                                0x23
#define  RegOsc                                   0x24                       
#define  RegPreambleMsb                    0x25
#define  RegPreambleLsb                    0x26
#define  RegSyncConfig                    0x27
#define  RegSyncValue1                    0x28
#define  RegSyncValue2                    0x29
#define  RegSyncValue3                    0x2a
#define  RegSyncValue4                    0x2b
#define  RegSyncValue5                    0x2c
#define  RegSyncValue6                    0x2d
#define  RegSyncValue7                    0x2e
#define  RegSyncValue8                    0x2f
#define  RegPacketConfig1                0x30
#define  RegPacketConfig2                0x31
#define  RegPayloadLength                0x32
#define  RegNodeAdrs                        0x33
#define  RegBroadcastAdrs                0x34
#define  RegFifoThresh                    0x35
#define  RegSeqConfig1                    0x36
#define  RegSeqConfig2                    0x37
#define  RegTimerResol                    0x38
#define  RegTimer1Coef                    0x39
#define  RegTimer2Coef                    0x3a
#define  RegImageCal                        0x3b
#define  RegTemp                                0x3c
#define  RegLowBat                                0x3d
#define  RegIrqFlags1                        0x3e
#define  RegIrqFlags2                        0x3f
#define  RegDioMapping1                    0x40
#define  RegDioMapping2                    0x41
#define  RegVersion                                0x42
#define         RegPllHop                                0x44
#define  RegPaDac                                0x4d
#define         RegBitRateFrac                    0x5d
/*********************************************************/
//命令
/*********************************************************/
extern u8   mode;
extern u8   Freq_Sel;
extern u8   Power_Sel;
extern u8   Lora_Rate_Sel;
extern u8   BandWide_Sel;
extern u8   Fsk_Rate_Sel;
extern u16  SysTime;
extern void delay_ms(unsigned int ms);
extern void delay_us(unsigned int us);
//////////////////////////////////////////函数声明/////////////////////////////////////
extern u8   xdata  RxData[64];
extern u8   xdata  sx1276_7_8Data[21];
extern void sx1276_7_8_Config(void);
extern void sx1276_7_8_Standby(void);
extern void sx1276_7_8_Sleep(void);
extern void sx1276_7_8_EntryLoRa(void);
extern void sx1276_7_8_LoRaClearIrq(void);
extern u8   sx1276_7_8_LoRaEntryRx(void);
extern u8   sx1276_7_8_LoRaRxPacket(void);
extern u8   sx1276_7_8_LoRaEntryTx(void);
extern u8   sx1276_7_8_LoRaTxPacket(void);
//extern u8   sx1276_7_8_LoRaReadRSSI(void);
//extern u8   sx1276_7_8_LoRaReadRSSI(void);
extern void sx1276_7_8_ConfigRX(void);
extern void sx1276_7_8_ConfigTX(void);
#endif

回复

使用道具 举报

ID:223945 发表于 2018-8-13 10:03 | 显示全部楼层
亲,图呢
回复

使用道具 举报

ID:223945 发表于 2018-8-13 10:04 | 显示全部楼层
你好,求资料1050058732@qq.com
回复

使用道具 举报

ID:535207 发表于 2019-5-11 11:27 | 显示全部楼层
有原理图吗?
回复

使用道具 举报

ID:251395 发表于 2019-7-16 15:50 | 显示全部楼层
能给一份全的资料吗1572369436@qq.com
回复

使用道具 举报

ID:251395 发表于 2019-7-16 15:53 | 显示全部楼层
能给一份全的资料吗1572369436@qq.com
回复

使用道具 举报

ID:325735 发表于 2020-5-28 22:22 | 显示全部楼层
什么都没有 标题党
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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