24L01/SI24R1调试笔记
1、SPI MSB优先,8Bit寄存器地址与内容;
2、寄存器结构与之前使用的LT8900不同,分为R、W寄存器与特殊功能寄存器;
3、特别注意:在TX、RX、RT中断或者轮询后置1,必须写1清零与清除相应的FIFO,否则第二次无法进入中断(IRQ无法拉低,维持高电平);
4、在多对一工作模式下,RX各管道设置对应唯一的地址,TX的地址统一设置TXADDR与RXPIPE0,详细设置见下图:
说明:
The PRX, using multiceiver and Enhanced ShockBurst™, receivespackets from more than one PTX. To
ensure that the ACK packet from the PRX is transmitted to the correct PTX, thePRX takes the data pipe
address where it received the packet and uses it as the TX address whentransmitting the ACK packet.
Figure 12. is an example of how address configuration could be for the PRX andPTX. On the PRX the
RX_ADDR_Pn, defined as the pipe address, must be unique. On the PTX the TX_ADDRmust be the same
as the RX_ADDR_P0 and as the pipe address for the designated pipe.
No other data pipe can receivedata until a complete packet is received by a data pipe that has detected its
address. When multiple PTXs are transmitting to a PRX, the ARD canbe used to skew the auto retransmission
so that they only block each other once.
详细请参见24L01 DS.
附:Demo设置TX ,RX
void SetRF_RX_Mode(void)
{
uint16_t GetCurrRFChNo; Cls_CE();
ClearRXFifo();
SetRF2G4Reg(SETUP_AW,ADDR_WIDTH);
SetRF2G4Reg(RX_PW_P0,32);
SetRF2G4Reg(RX_PW_P1,32); WriteRFADDR(RX_ADDR_P0,TX_ADDRESS,5);
WriteRFADDR(RX_ADDR_P1,TX_ADDRESS1,5); SetRF2G4Reg(EN_AA,0x003);
SetRF2G4Reg(EN_RXADDR,0x03);
SetRF2G4Reg(FEATURE, 0x04);
SetRF2G4Reg(DYNPD,0x03); SetRF2G4Reg(RF_CH,0x40);
SetRF2G4Reg(RF_SETUP,0x07);
SetRF2G4Reg(CONFIG,0x0f); Set_CE(); #ifndef RF_Debug
printf("Set RF to RX mode!\n");
#endif
} void SetRF_TX_mode(void)
{
uint16_t GetCurrRFChNo; Cls_CE();
ClearTXFifo();
SetRF2G4Reg(SETUP_AW,ADDR_WIDTH); SetRF2G4Reg(FEATURE, 0x04);
#if 0
WriteRFADDR(TX_ADDR,TX_ADDRESS,5);
WriteRFADDR(RX_ADDR_P0,TX_ADDRESS,5);
#else
WriteRFADDR(TX_ADDR,TX_ADDRESS1,5);
WriteRFADDR(RX_ADDR_P0,TX_ADDRESS1,5);
#endif
SetRF2G4Reg(EN_AA,0x01);
SetRF2G4Reg(EN_RXADDR,0x01);
SetRF2G4Reg(DYNPD,0x01); SetRF2G4Reg(RF_CH,0x40);
SetRF2G4Reg(SETUP_RETR,0x13);
SetRF2G4Reg(RF_SETUP,0x07); SetRF2G4Reg(CONFIG,0x0e);
CurrentRF_Mode = RFTXD_Mode;
Set_CE(); #ifndef RF_Debug
printf("Set RF to TX mode!\n");
#endif
}
24L01/SI24R1调试笔记的更多相关文章
- Tomcat调试笔记
调试笔记 在使用Tomcat过程中经常碰到问题,导致tomcat启动失败.如下↓ 由于报错太过笼统,我根本无法找出错误.后来我切换到Console视图下,看到了如下错误信息. 根据报错信息,错误原因是 ...
- JavaScript特效(调试笔记)
JavaScript特效 一.在网页上显示当前的时间日期,例如:“2016年3月26日 星期六”. js源代码: function getTime() { var today = new Date() ...
- USB wifi调试笔记
本文以realtek 8192CU WiFi模块为例,介绍USB wifi在Jelly Bean 4.1的调试笔记. 1.WIFI打不开现象概述 WiFi打不开是指您在UI的settings下选中Wi ...
- ida动态调试笔记
ida动态调试笔记 目标文件:阿里安全挑战赛的第二题 点击打开链接 使用环境:ida6.8点击打开链接,adt bundle点击打开链接 首先打开avd安卓模拟器,界面如下: 在dos下运行adb命令 ...
- modbus-poll和modbus-slave工具的学习使用——modbus协议功能码3的解析(及欧姆龙温控器调试笔记)
最近的项目中使用到了欧姆龙的温控器,里面有很多的通信方式,我们使用的常见的modbus——RTU方式,其他方式我们不使用,其中通信手册上面有很多通信的实例,欧姆龙modbus还区分4字节模式和2字节模 ...
- GDB调试笔记
参考资料:GDB调试精粹及使用实例 # 调试实例 #include <iostream> #include <cstring> using namespace std; ][] ...
- 《C#并行编程高级教程》第7章 VS2010任务调试 笔记
没有什么好说的,主要是将调试模式下的Parallel Tasks窗体和Parallel Stacks窗体.折腾一下应该比看书效果好.(表示自己没有折腾过) 另外值得注意的是,主线程不是一个任务.所以主 ...
- SIM900A模块HTTP相关调试笔记
SIM900A模块使用笔记 更新2018-12-8 正常工作状态: 接线方法: 首先将 AT 写入字符串输入框,然后点击 发送.因为模块波特率默认是 9600,所以两条指令的显示都是没有问题的:如果将 ...
- 博世传感器调试笔记(一)----加速度传感器BMA253
公司是bosch的代理商,最近一段时间一直在公司开发的传感器demo板上调试bosch sensor器件.涉及到的器件有7,8款,类型包括重力加速度.地磁.陀螺仪.温度.湿度.大气压力传感器等.在调试 ...
随机推荐
- Android开发工具综述,开发人员必备工具
安卓开发工具汇总.开发者必备.安卓开发过程中须要用到各种工具,作为一名安卓开发者,有木有感到亚历山大,那么多工具! 今天给大家汇总了一下安卓开发工具,安卓开发者必备利器. 1.Draw 9-Patch ...
- Why 使用TLS记录封装IP层VPN IS A Bad Idea
一个很自然的想法,使用TLS套餐一IP数据报实现第三层VPN.这种想法必须经过深思熟虑的,但不幸的是,.这是一个错误的想法.有文章<Why TCP Over TCP Is A Bad Idea& ...
- NSUserDefaults写作和阅读对象定义自己
需要编写对象必须实现NSCoding protocol Person Class Person.h #import <Foundation/Foundation.h> #import &q ...
- MySQL先进的技术-存储引擎
MySQL功能被分成两部分,主要有成品的外部client连接和可行性研究SQL函数语句,内侧部分被称为存储引擎,它负责接收外部操作指令数据,实际数据是完整的,文件输入和输出操作的工作 版权声明:本文博 ...
- 再见,CSDN
这是第三次的博客, 首先是从百度改变自己 从他的变化二CSDN 看看多年的积累, 真的不想,但CSDN搜电缆和编辑(新MarkDown更烂)实在不敢恭维 再见CSDN, 新的博客 http://my. ...
- Sencha Architect 2 的使用
俗话说的好, 工欲善其事必先利其器, 用Sencha开发的语言, 自己可能不太熟悉, 写出来很麻烦, 于是给大家介绍一个工具. 启动程序第一个界面: 单击第一个Go按钮, 创建一个项目.进入以后, 单 ...
- sql server从一个数据库复制一个表到另一个数据库的方法
分两步进行: 第一步,复制表结构: 在表上面右击——>编写表脚本为:——>Create到——>新查询编辑器窗口,你也可以保存为sql文件, 将新查询编辑器窗口最上面的一句话USE [ ...
- Android SQLite 数据库 增删改查操作
Android SQLite 数据库 增删改查操作 转载▼ 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NU ...
- Java Web整合开发(附录2) -- NetBeans的(默认)快捷键
1.完成代码:ctrl+\ //任何地方按下此组合键,均会提示相应的参考字段: 2.错误提示:alt + enter //顾名思义,当系统报错时,按下此组合可以查看系统提示: 3.自动完成字符串: c ...
- 精致的外观Request
为什么要说Request精致的外观?请注意,我们这里所说的并不总是理解含义的外观门面,事实上,它使用的立面设计图案.使用的主要考虑数据安全的门面.它涉及到一个更大的系统系统的多个子系统之间的互动沟通. ...