文档详情

SPI控制nRF24L01程序参考.doc

发布:2018-02-28约1.16万字共8页下载文档
文本预览下载声明
#include reg52.h #include intrins.h typedef unsigned char uchar; typedef unsigned char uint; //****************************************IO端口定义*************************************** sbit CSN =P2^0; //SPI 片选使能,低电平使能 sbit MOSI =P2^1; //SPI串行输入 sbit IRQ =P2^2; //中断.低电平使能 sbit MISO =P2^3; //SPI串行输出 sbit SCK =P2^4; //SPI时钟 sbit CE =P2^5; //芯片使能,高电平使能 //***********************************数码管0-9编码******************************************* uchar seg[10]={0xC0,0xCF,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //0~~9段码 uchar TxBuf[32]= { /* 0x01,0x02,0x03,0x4,0x05,0x06,0x07,0x08, 0x09,0x10,0x11,0x12,0x13,0x14,0x15,0x16, 0x17,0x18,0x19,0x20,0x21,0x22,0x23,0x24, 0x25,0x26,0x27,0x28,0x29,0x30,0x31,0x32, */ 0x00 }; // //************************************按键********************************************** sbit KEY1=P3^6; sbit KEY2=P3^7; //***********************************数码管位选************************************************** sbit led1=P2^1; sbit led0=P2^0; sbit led2=P2^2; sbit led3=P2^3; //*********************************************NRF24L01************************************* #define TX_ADR_WIDTH 5 // 5 uints TX address width #define RX_ADR_WIDTH 5 // 5 uints RX address width #define TX_PLOAD_WIDTH 32 // 20 uints TX payload #define RX_PLOAD_WIDTH 32 // 20 uints TX payload uint const TX_ADDRESS[TX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}; //本地地址 uint const RX_ADDRESS[RX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}; //接收地址 //***************************************NRF24L01寄存器指令******************************************************* #define READ_REG 0x00 // 读寄存器指令 #define WRITE_REG 0x20 // 写寄存器指令 #define RD_RX_PLOAD 0x61 // 读取接收数据指令 #define WR_TX_PLOAD 0xA0 // 写待发数据指令 #define FLUSH_TX 0xE1 // 冲洗发送 FIFO指令 #define FLUSH_RX 0xE2 // 冲洗接收 FIFO指令 #define REUSE_TX_PL 0xE3 // 定义重复装载数据指令 #define NOP 0xFF // 保留 //*******************************
显示全部
相似文档