没有合适的资源?快使用搜索试试~ 我知道了~
刚刚写的关于nrf2401在51点单片机上的发送端程序,可以下载看一下
资源推荐
资源详情
资源评论
满意答案 好评率:100%
发送
#include <reg52.h>
#include<intrins.h>
// 常量定义
#define uchar unsigned char
#define uint unsigned int
#define BYTE_BIT0 0x01
#define BYTE_BIT1 0x02
#define BYTE_BIT2 0x04
#define BYTE_BIT3 0x08
#define BYTE_BIT4 0x10
#define BYTE_BIT5 0x20
#define BYTE_BIT6 0x40
#define BYTE_BIT7 0x80
//---------------------------位变量定义----------------------------------------
bdata uchar DATA_BUF; //用于ByteRead和ByteWrite 函数
#define DATA7 ((DATA_BUF&BYTE_BIT7)!=0)
#define DATA0 ((DATA_BUF&BYTE_BIT0)!=0)
uchar TxBuf[28]={
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x09,0x10,0x11,0x12,0x13,0x14,0x15,0x16,
0x17,0x18,0x19,0x20,0x21,0x22,0x23,0x24,
0x25,0x26,0x27,0x28,};
// ------------------------------<RF2401_Pins 对应引脚> -----------------------
sbit PWR_UP = P1^3;
sbit CE = P1^2;
// sbit DR2 = P1^7; //暂时没有用到
发送
#include <reg52.h>
#include<intrins.h>
// 常量定义
#define uchar unsigned char
#define uint unsigned int
#define BYTE_BIT0 0x01
#define BYTE_BIT1 0x02
#define BYTE_BIT2 0x04
#define BYTE_BIT3 0x08
#define BYTE_BIT4 0x10
#define BYTE_BIT5 0x20
#define BYTE_BIT6 0x40
#define BYTE_BIT7 0x80
//---------------------------位变量定义----------------------------------------
bdata uchar DATA_BUF; //用于ByteRead和ByteWrite 函数
#define DATA7 ((DATA_BUF&BYTE_BIT7)!=0)
#define DATA0 ((DATA_BUF&BYTE_BIT0)!=0)
uchar TxBuf[28]={
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x09,0x10,0x11,0x12,0x13,0x14,0x15,0x16,
0x17,0x18,0x19,0x20,0x21,0x22,0x23,0x24,
0x25,0x26,0x27,0x28,};
// ------------------------------<RF2401_Pins 对应引脚> -----------------------
sbit PWR_UP = P1^3;
sbit CE = P1^2;
// sbit DR2 = P1^7; //暂时没有用到
// sbit CLK2 = P1^1;
// sbit OUT2 = P1^6;
sbit CS = P1^0;
sbit DR1 = P1^5;
sbit CLK1 = P1^4;
sbit DATA = P3^3;
//----------------------------------------LED显示端口---------------------------------------------------
sbit LED=P3^5;
//-------------------------------------------------------------------------------
unsigned char TxAddress[4]={0xcc,0xcc,0xcc,0xcc}; //发送地址
//---------------------<nRF-Configuration-Register 配置信息 >------------------------------
//芯片测试用,无需修改
#define TEST_2 0x8E // MSB D143-D136
#define TEST_1 0x08 // D135~D128
#define TEST_0 0x1c // D127~D120
// 注意 DATAx_W+ADDRx_W+CRC 的值必须小于256!单个数据包的大小必须小于32字节(256位)
#define DATA2_W 0x10 //未用到--0x10=2字节 //频道2发送/接受数据长度(单位:Bit)
#define DATA1_W 0xE0 //28字节 16 位 //频道1发送/接受数据长度(单位:Bit)
//频道2接收地址 <-频道2未使用
#define ADDR2_4 0x00
#define ADDR2_3 0x1c
#define ADDR2_2 0xcc
#define ADDR2_1 0xcc
#define ADDR2_0 0xcc
// 频道1接收地址 (当前模块地址) <-只是用频道1
#define ADDR1_4 0x00
#define ADDR1_3 0xcc
#define ADDR1_2 0xcc
#define ADDR1_1 0xcc
#define ADDR1_0 0xcc
// sbit OUT2 = P1^6;
sbit CS = P1^0;
sbit DR1 = P1^5;
sbit CLK1 = P1^4;
sbit DATA = P3^3;
//----------------------------------------LED显示端口---------------------------------------------------
sbit LED=P3^5;
//-------------------------------------------------------------------------------
unsigned char TxAddress[4]={0xcc,0xcc,0xcc,0xcc}; //发送地址
//---------------------<nRF-Configuration-Register 配置信息 >------------------------------
//芯片测试用,无需修改
#define TEST_2 0x8E // MSB D143-D136
#define TEST_1 0x08 // D135~D128
#define TEST_0 0x1c // D127~D120
// 注意 DATAx_W+ADDRx_W+CRC 的值必须小于256!单个数据包的大小必须小于32字节(256位)
#define DATA2_W 0x10 //未用到--0x10=2字节 //频道2发送/接受数据长度(单位:Bit)
#define DATA1_W 0xE0 //28字节 16 位 //频道1发送/接受数据长度(单位:Bit)
//频道2接收地址 <-频道2未使用
#define ADDR2_4 0x00
#define ADDR2_3 0x1c
#define ADDR2_2 0xcc
#define ADDR2_1 0xcc
#define ADDR2_0 0xcc
// 频道1接收地址 (当前模块地址) <-只是用频道1
#define ADDR1_4 0x00
#define ADDR1_3 0xcc
#define ADDR1_2 0xcc
#define ADDR1_1 0xcc
#define ADDR1_0 0xcc
剩余8页未读,继续阅读
资源评论
绚日
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功