📄 main.c
字号:
#include <reg9e5.h>
#include <STDLIB.H>
#define INT8U unsigned char
#define INT16U unsigned int
//*****************************************************************************
//寄存器宏定义
//*****************************************************************************
#define WRC 0x00 //W_RF_CONFIG
#define RRC 0x10 //R_RF_CONFIG
#define WTP 0x20 //W_TX_PAYLOAD
#define RTP 0x21 //R_TX_PAYLOAD
#define WTA 0x22 //W_TX_ADDRESS
#define RTA 0x23 //R_TX_ADDRESS
#define RRP 0x24 //R_RX_PAYLOAD
#define RAD 0x40 //R_ADC_DATA
#define WAC 0x44 //W_ADC_CONFIG
#define RAC 0x46 //R_ADC_CONFIG
#define WTU 0x50 //W_TEST_UNLOCK (use with data A5)
#define WTR 0x52 //W_TEST_REGISTER
#define RTR 0x53 //R_TEST_REGISTER
#define CC 0x80 //CHANNEL_CONFIG
#define SAV 0xC0 //START_ADC_CONV
#define HFREQ 0 // 0=433MHz, 1=868/915MHz set 433mhz
#define POWER 3 // 0=min power...3 = max power
///////////////////////////////////////////////////////////////////////////////
//*****************************************************************************
//配置寄存器
//*****************************************************************************
code INT8U Nrf9e5Config[10] = {
0x10, //CH_NO[7:0] CH_NO[8]位于下一字节的第0位
//频道设置 CH_NOd=16 //424MHz
//fRF=(422.4+CH_NOd/10)*(1+HRFEQ_PLLd)MHz
0x0c, //X[7],X[6],AUTO_RETRAN[5],RX_RED_PWR[4],
//PA_PWR[3:2],HFREQ_PLL[1],CH_NO[8]
//0:自动重发关,0:发送节电模式关,11:输出功率10dB,
//HRFEQ_PLLd=0: 433频段
0x44, //X[7],TX_AFW[6:4],X[3],RX_AFW[2:0]
//收发地址都为4字节
0x04, //X[7:6],RX_PWR[5:0]
//接收数据长度,4字节
0x04, //X[7:6],TX_PWR[5:0]
//发送数据长度,4字节
0xe7, //RX_ADDRESS[7:0]
0xe7, //RX_ADDRESS[15:8]
0xe7, //RX_ADDRESS[23:16]
0xe7, //RX_ADDRESS[31:24] 32位地址
0xdf //CRC_MODE[7],CRC_EN[6],XOF[5:3],UP_CLK_EN[2],
//UP_CLK_FREQ[1:0]
//1:CRC开,1:16位校验,011:16M晶振,1:外部时钟使能
//11:500KHZ输出
};
///////////////////////////////////////////////////////////////////////////////
//*****************************************************************************
//全局变量
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -