• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 关于NRF2401的接收与发送,如何查看是否发送和接收了,要过程详细点。

关于NRF2401的接收与发送,如何查看是否发送和接收了,要过程详细点。

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了关于NRF2401的接收与发送,如何查看是否发送和接收了,要过程详细点。等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:关于NRF2401的接收与发送,如何查看是否发送和接收了,要过程详细点。
描述:

发送部分。
/**********************************************************************************************************/
void nRF24L01_TxPacket(unsigned char * tx_buf)
{
CE=0; //StandBy I模式
SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // 装载接收端地址
SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH);   // 装载数据
// SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e);     // IRQ收发完成中断响应,16位CRC,主发送
CE=1;  //置高CE,激发数据发送
inerDelay_us(10);
}
//************************************主函数************************************************************
void main(void)
{
uchar temp =0;
    init_NRF24L01() ;
nRF24L01_TxPacket(TxBuf); // Transmit Tx buffer data
Delay(6000);
P0=0xBF;
while(1)
{
nRF24L01_TxPacket(TxBuf); // Transmit Tx buffer data
LED=0;
Delay(10000);      //可变
SPI_RW_Reg(WRITE_REG+STATUS,0XFF);  
LED=1;
Delay(8000); 
}
}
接收部分:
/*函数:void SetRX_Mode(void)
/*功能:数据接收配置 
/****************************************************************************************************/
void SetRX_Mode(void)
{
CE=0;
// SPI_RW_Reg(WRITE_REG + CONFIG, 0x0f);    // IRQ收发完成中断响应,16位CRC ,主接收
CE = 1; 
inerDelay_us(130);
}
/******************************************************************************************************/
/*函数:unsigned char nRF24L01_RxPacket(unsigned char* rx_buf)
/*功能:数据读取后放如rx_buf接收缓冲区中
/******************************************************************************************************/
unsigned char nRF24L01_RxPacket(unsigned char* rx_buf)
{
    unsigned char revale=0;
sta=SPI_Read(STATUS); // 读取状态寄存其来判断数据接收状况
if(RX_DR) // 判断是否接收到数据
{
    CE = 0;  //SPI使能
SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);// read receive payload from RX_FIFO buffer
revale =1; //读取数据完成标志
}
SPI_RW_Reg(WRITE_REG+STATUS,sta);   //接收到数据后RX_DR,TX_DS,MAX_PT都置高为1,通过写1来清楚中断标志
return revale;
}
//************************************串口初始化*********************************************************
void StartUART( void )
{   //波特率4800
     SCON = 0x50;
     TMOD = 0x20;
     TH1 = 0xFA;
     TL1 = 0xFA;
     PCON = 0x00;
     TR1 = 1;
}
//************************************通过串口将接收到数据发送给PC端**************************************
void R_S_Byte(uchar R_Byte)
{
 SBUF = R_Byte;  
     while( TI == 0 ); //查询法
    TI = 0;    
}
//************************************主函数************************************************************
void main(void)
{
uchar i,temp;
uchar RxBuf[32];
    init_NRF24L01() ;
StartUART();
Delay(6000);
while(1)
{
SetRX_Mode();
    if(nRF24L01_RxPacket(RxBuf))
{
LED=0;
temp++;
for(i=0;i<32;i++)
{
R_S_Byte(RxBuf[i]);
Delay(600);
}
}
LED=1;
Delay(600);
}
}
怎么在接收端没有任何反应,看了几天不知道问题错在哪了。若果知道请麻烦告知一下,详细点。


解决方案1:

还有地址 频道 自动应答 方式 没有配置


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 关于NRF2401的接收与发送,如何查看是否发送和接收了,要过程详细点。

相关文章

  • 2017-06-05 有人了解ati显卡吗
  • 2017-06-05 basys2数码管动态显示verilog
  • 2017-06-05 搭建linux平台交叉编译,使用eclipse裸机调试6410,有个gdb的问题
  • 2017-06-05 请问与并口操作相关的windowsAPI有哪些?
  • 2017-06-05 有关局域网数据包拦截的问题
  • 2017-06-05 传感器与stm32f407的通信
  • 2017-06-05 求助keil51无法读取到我的flash
  • 2017-06-05 纯小数的补码原码
  • 2017-06-05 请问usbfs的问题(急!!
  • 2017-06-05 EVC工程无法添加新的CPU

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 急问!使用DeviceIoControl的问题
    • 一个硬盘控制器在系统启动时候,到底要提供那些信息给BIOS程序,这些信息放置在内存什么位置?
    • winCE如何在任务栏添加提示灯效果
    • 如何将HC6800EM3上LCD显示出来的数据通过R232传输到电脑上
    • 以太网接口
    • 这样做有意义吗,大家来讲讲。
    • 请教上海的兄弟
    • 关于Kirp的迷惑!请指点
    • 请问是否有什么工具软件可以随时抓取PCMCIA接口的数据
    • 域名绑定与ip地址访问是不是无本质区别

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有