1.硬件知识

1.1 nRF24L01的引脚功能

(IO方向是相对模块而言的)


CE:Chip Enable,芯片使能,在发送和接收过程中都要将这个引脚拉高。
IRQ: 低电平触发,当状态寄存器中 TX_DS、RX_DR 或 MAX_RT 为高时触发中断,当 MCU 给中断源写 1 时,中断引脚被禁止。默认状态下所有的中断源是被禁止的。

1.2 通信条件

两个NRF24L01,收发双方需要满足4个条件:
1.发射接收频道相同(设置频道寄存器RF_CH 0-125)
2.发射接收地址相同(设置TX_ADDR和RX_ADDR_P0相同 5个8位地址 )
3.发射接收数据宽度相同(n<=32)
4.发射接收速率相同(250K 1M 2M)

1.2.1 传输协议如下

2.代码块

/*********************************************************************************************************
function:nRF24L01_TxPacket(unsigned char* rx_buf)
Description:发送 tx_buf 中数据,尽量配置一下TX_PLOAD_WIDTH,发送的长度,最高32字节,设置太高没必要后面都是0无效数据
Input:unsigned char* rx_buf 要发送的数据
Output:返回0x10 说明达到最发重发次数,返回0x20说明发送成功,返回0xFF说明发送错误
Return:
*********************************************************************************************************/
unsigned char NRF24L01_TxPacket(u8 *tx_buf)
{u8 sta;    EXTI->IMR&=~(EXTI_Line8);//关闭中断NRF2401_CE_LOW;                                      //只有在 CE=0 时才能对NRF24L01进行设置,否则易出现问题 SPI_Write_Buf(NRF24L01_WRITE_REG + RX_ADDR_P0,(uint8_t*)TX_ADDRESS,TX_ADR_WIDTH); //装载接收端地址SPI_Write_Buf(WR_TX_PLOAD,tx_buf,TX_PLOAD_WIDTH);   //装载数据,以及发送数据的长度//SPI_RW_Reg(NRF24L01_WRITE_REG + CONFIG, 0x0e);    //IRQ收发完成中断响应,16位CRC,主发送NRF2401_CE_HIGH;                                  //置高CE,激发数据发送Delay_us(10);                                       //CE拉高后必须有一个10us以上的延时while(GPIO_ReadInputDataBit(NRF2401_IRQ_PORT,NRF2401_IRQ_PIN));        //发送完成IRQ会拉低,自动置高sta = SPI_Read(STATUS);SPI_RW_Reg(FLUSH_TX,0xff);                                          //把TX_FIFO清空,就发一次SPI_RW_Reg(NRF24L01_WRITE_REG + STATUS, sta);if(sta&STATUS_MAX)                                                    //判断是否达到最大重发次数{SPI_RW_Reg(FLUSH_TX,0xff);                                       //清除TX FIFO寄存器 EXTI->IMR|=EXTI_Line8;//打开中断return STATUS_MAX;                                               //返回0x10}if(sta&STATUS_TX)                                                  //判断是否发送完成{EXTI->IMR|=EXTI_Line8;return STATUS_TX;                                              //返回0x20    }EXTI->IMR|=EXTI_Line8;return 0xff;                                                     //发送失败,返回0xFF
}

C51- NRF24L01 无线串口模块相关推荐

  1. 【案例】无线串口模块 星型网络组网 案例

    星型网络技术 01 什么是星型网络 星型网络是有两种网络设备构成:中心节点和终端节点.中心节点是整个星型网络的枢纽,所有终端节点通过无线或者有线的形式连接到中心节点,与中心节点进行信息交互.终端节点之 ...

  2. 【无线串口模块快速选型指南】通信频点、芯片、通信距离、功率灵敏度、电流 空中速率

    目录 简介 串口模块的选型要点 01 通信频点 02 芯片方案 03 通信距离 04 发射功率.接收灵敏度 发射功率 接收灵敏度 05 发射电流.接收电流.休眠电流 06  空中速率 07 天线接口形 ...

  3. 无线串口模块通信技术参数快速选型指南

    首先我们来说一下什么是无线串口模块?无线模块即是通过无线电信号来传输数据的软硬件模组,串口模块即是使用串口通信协议来传输数据的软硬件模组,那么无线串口模块也就是使用串口协议来进行无线电通信的软硬件模组 ...

  4. MJKDZ PS2手柄控制OskarBot小车(三):STM32接收无线串口模块的数据并处理

    MJKDZ PS2手柄控制OskarBot小车(三):无线串口模块接收数据并处理 [目录] 1.硬件与软件设计思路 - 1.1 硬件资源 - 1.2 STM32串口接收数据的方法 2.源代码详解 - ...

  5. arduino封装了一个无线串口模块LC12S的操作库

    前一段时间接触到一个比较好用的2.4G无线串口通信模块LC12S, 在淘宝上仅四五块钱,收发一体,比较好用. 我照着技术文档封装了这个设置操作的库 demo代码: #include <Ardui ...

  6. 科陆电表通过卓岚无线串口模块上传智能云平台

    科陆电表通过卓岚无线串口模块上传智能云平台 1.概述 随着目前无线通讯领域的快速发展,远程实时监控电表数据已经成为发展的趋势,无线远程监控在应用领域运用这一块,更是尤为重要.卓岚无线串口模块ZLAN7 ...

  7. 两个HC-05蓝牙模块互相绑定构成无线串口模块 1

    文章目录 关于HC-05蓝牙模块 工作模式 获取蓝牙模块地址 两个蓝牙模块互相绑定 对A模块的设置: 对B模块的设置: HC蓝牙模块参考资料 SPP蓝牙模块参考资料 关于HC-05蓝牙模块 蓝牙模块B ...

  8. nRF24L01 无线数传模块之间的区别 干货分析

    nRF2401A nRF2401A为nRF2401的改进型号(nRF2401AG为无铅工艺型号).nRF2401A工作在2.4GHz的国际通用ISM免申请频段GFSK调制的无线数传芯片.最高发射功率0 ...

  9. 【无线串口模块应用实例】防小人不防君子的智慧安防监测系统

    俗话说"防君子不防小人",指的是礼义约束只能管住君子. 乍一听还有点消极无奈的感觉,怎么好人反而更吃亏呢?! "以德报怨,何以报德?" 但面对无孔不入的小人我们 ...

  10. nRF2401A vs nRF24L01+ 无线数传模块之间的区别

    nRF2401A nRF2401A为nRF2401的改进型号(nRF2401AG为无铅工艺型号).nRF2401A工作在2.4GHz的国际通用ISM免申请频段GFSK调制的无线数传芯片.最高发射功率0 ...

最新文章

  1. linux kvm虚拟化命令,Linux系统下kvm虚拟化(三)日常管理常用命令和配置说明
  2. vs调试时,变量值以十六进制显示
  3. 阿里云容器服务新增支持Kubernetes编排系统,性能重大提升
  4. CCF 202104-4 校门外的树 Python
  5. python能进行切片操作的数据类型可以是_Python新手学习基础之数据类型——字符串的切片截取...
  6. gitHub网站上常见英语翻译
  7. Scala入门到精通——第十五节 Case Class与模式匹配(二)
  8. 海康存储携手英特尔发布AI企业私有云
  9. c语言的锁和Python锁,Python中全局解释器锁、多线程和多进程
  10. idea yml文件不变成树叶_springboot获取配置文件的三种方式
  11. LeetCode 1245. 树的直径(图的最大直径结论)
  12. python里split以制表符分隔_在python中拆分以制表符分隔的大文件
  13. Java项目--网页版音乐播放器(JQuery前端逻辑)
  14. Springboot统一异常处理并保存到数据库
  15. windows xp系统本地连接提示受限制或无连接怎么办
  16. 12个免费在线Logo生成器
  17. ROS moveit cartesian_demo 机械臂笛卡尔空间路径速度限制
  18. 2021年第四季度全球消费者信心总体持平,印度仍为全球最高,中国大幅增长,日本仍远低于全球平均水平 | 美通社头条...
  19. 【QT 5 设置自定义标题栏+学习:《QT实现鼠标拖动调整窗口大小》+基础样例】
  20. 统计学 统计值判断标准

热门文章

  1. 40个幼儿园小故事,每天讲一个给小朋友~(赶紧收藏)
  2. win10安装atom的步骤
  3. postgresql索引_PostgreSQL中的索引— 9(BRIN)
  4. 服务器提示临时文件已满,为什么显示“临时文件夹已满或不能访问”
  5. ewebeditor漏洞大全
  6. 日更100天(12)每天进步一点点
  7. 许晓斌_Maven实战(三)——多模块项目的POM重构
  8. Windbg及Dump文件分析方法
  9. java中System类详解
  10. 网站是备案域名还是服务器,网站备案是域名还是服务器