我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 512|回复: 3

nrf2104伪双工

[复制链接]

该用户从未签到

3

主题

2

回帖

0

积分

一级逆天

积分
0

终身成就奖

QQ
发表于 2016-11-16 21:53:05 | 显示全部楼层 |阅读模式
#ifndef  _nrf2401_H_
#define  _nrf2401_H_
#define uchar unsigned char
#define uint unsigned int



#include <reg52.h>

//定义管脚
#define CSN_0    P1 &= ~0x01      //1.0
#define CSN_1    P1 |= 0X01         //
#define MOSI_0   P1 &= ~0X02     //1.1
#define MOSI_1   P1 |= 0X02         //
#define CE_0     P1 &= ~0X04     //1.2
#define CE_1     P1 |= 0X04     //
#define SCK_0    P1 &= ~0X08     //1.3
#define SCK_1    P1 |= 0X08         //               
#define MISO     P1    &= 0X10         //1.4
#define IRQ      P1 &= 0X20         //1.5


//定义命令
#define READ_REG        0X00       // 读寄存器指令
#define WRITE_REG       0x20     // 写寄存器指令
#define RX_PL_WID       0x60    // 读接收数据的长度
#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      // 保留

//定义寄存器
#define CONFIG          0x00  // 配置收发状态,CRC校验模式以及收发状态响应方式
#define EN_AA           0x01  // 自动应答功能设置
#define EN_RXADDR       0x02  // 可用信道设置
#define SETUP_AW        0x03  // 收发地址宽度设置
#define SETUP_RETR      0x04  // 自动重发功能设置               
#define RF_CH           0x05  // 工作频率设置
#define RF_SETUP        0x06  // 发射速率、功耗功能设置
#define STATUS          0x07  // 状态寄存器
#define OBSERVE_TX      0x08  // 发送监测功能
#define CD              0x09  // 地址检测           
#define RX_ADDR_P0      0x0A  // 频道0接收数据地址
#define RX_ADDR_P1      0x0B  // 频道1接收数据地址
#define RX_ADDR_P2      0x0C  // 频道2接收数据地址
#define RX_ADDR_P3      0x0D  // 频道3接收数据地址
#define RX_ADDR_P4      0x0E  // 频道4接收数据地址
#define RX_ADDR_P5      0x0F  // 频道5接收数据地址
#define TX_ADDR         0x10  // 发送地址寄存器
#define RX_PW_P0        0x11  // 接收频道0接收数据长度
#define RX_PW_P1        0x12  // 接收频道1接收数据长度
#define RX_PW_P2        0x13  // 接收频道2接收数据长度
#define RX_PW_P3        0x14  // 接收频道3接收数据长度
#define RX_PW_P4        0x15  // 接收频道4接收数据长度
#define RX_PW_P5        0x16  // 接收频道5接收数据长度
#define FIFO_STATUS     0x17  // FIFO栈入栈出状态寄存器设置

     

#define TX_ADDR_WIDTH   5     //地址长度
#define RX_ADDR_WIDTH   5
#define RX_WIDTH        3     //数据长度
#define TX_WIDTH        3
#define MODE_TX            1     //发送模式
#define MODE_RX            0    //接收模式


extern uchar  TXBUF[3];        //数据
extern uchar  RXBUF[3];                        //接收数组
extern uchar  TX_ADDRESS[5];      //地址
extern uchar  RX_ADDRESS[5];

void delay(uint t);
uchar spi_rw(uchar date);
void init_2401(uchar);
uchar read_reg(uchar reg);
uchar write_reg(uchar reg,uchar dat);
uchar read_buf(uchar reg,uchar *pbuf,uchar width);
uchar write_buf(uchar reg,uchar *pbuf,uchar width);
void tx_packet(uchar *tx_buf);
void rx_packet(uchar *rx_buf);
void tx_packet_ack(uchar *tx_buf,uchar len);
uchar check_add(void);//检测函数
void check_even(void);
void chakan(void);

/*
extern uchar code TXBUF[3]={0x01,0x02,0x03};        //数据
extern uchar code RXBUF[3];                        //接收数组
extern uchar code TX_ADDRESS[5]={0x20,0x50,0x40,0x80,0x60};      //地址
extern uchar code RX_ADDRESS[5]={0x20,0x50,0x40,0x80,0x60};


uchar code TXBUF[3]={0x01,0x02,0x03};        //数据
uchar code RXBUF[3];                        //接收数组
uchar code TX_ADDRESS[5]={0x20,0x50,0x40,0x80,0x60};      //地址
uchar code RX_ADDRESS[5]={0x20,0x50,0x40,0x80,0x60};


*/
#endif
回复

使用道具 举报

  • TA的每日心情
    开心
    昨天 12:15
  • 签到天数: 127 天

    [LV.7]常住居民III

    32

    主题

    1万

    回帖

    3万

    积分

    三级逆天

    积分
    34411

    终身成就奖特殊贡献奖原创先锋奖社区居民忠实会员社区劳模最爱沙发原创达人优秀斑竹奖宣传大使奖

    QQ
    发表于 2016-11-17 08:18:02 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    16

    主题

    663

    回帖

    26

    积分

    禁止发言

    积分
    26

    社区居民终身成就奖

    QQ
    发表于 2016-11-17 08:52:02 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    87

    主题

    1988

    回帖

    2059

    积分

    二级逆天

    积分
    2059

    终身成就奖优秀斑竹奖

    QQ
    发表于 2016-11-17 08:58:29 | 显示全部楼层
    回复

    使用道具 举报

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

    本版积分规则

    论坛开启做任务可以
    额外奖励金币快速赚
    积分升级了


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表