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款,类型包括重力加速度.地磁.陀螺仪.温度.湿度.大气压力传感器等.在调试 ...
随机推荐
- C++ 复制功能
C++ 复制功能 说C++复制功能,它可能不是很熟悉.类中的拷贝构造函数和赋值操作符.可是其实或许我们一不小心就会忽略编译器所做的一些默认操作.引起晦涩的错误.以下分析几种场景: 一.场景一:所有默认 ...
- Leetcode: Spiral Matrix. Java
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...
- ftp桥接到http服务
先说一下我的需求:我的linodeserver近期ftp和sftp连不上了,port被封了.仅仅有http能够訪问,我没有办法上传文件了.由于我寻常都用beyond compare上传文件,非常方便. ...
- IOS开发-表视图LV3导航控制器
学到这里感觉有点难了,其实这篇文章再草稿箱里放了好久了~ 最近对于学习的热情下降了.这不行-抓紧学习走起! 在这一章节的学习中主要针对导航控制器及表视图来建立多视图的应用, 首先要了解一些概念-- 1 ...
- poj 1959 Darts 同意反复组合
水题.直接贴代码. //poj 1959 //sep9 #include <iostream> using namespace std; int n; int f[128]; int so ...
- 怎么样putty打开图形化管理工具,在终端上
有时需要在putty这种图形终端开放的图形化管理工具将出现以下错误: [root@node2 ~]# Traceback (most recent call last): File "/us ...
- 插入排序java
插入排序简述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的.个数加一的有序数据. 第一个元素是有序队列,从第二个元素开始向有序队列中插入,插入完成后将第三个元素向 ...
- Swift新手教程3-字符串String
原创blog,转载请注明出处 String 在swfit中,String兼容Unicode的方式.用法和C语言类似. 注意 在Cocoa和Cocoa touch中,Swift的String,和Fo ...
- Struts的ONGL
1.什么是OGNL OGNL它是Object Graphic Navigation Language(对象图导航语言)缩写, 它是一个开源项目. Struts2框架使用OGNL作为默认的表达式语 ...
- 开源一个简单的c++软光栅渲染器
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5751111.html 由于开学就大四面临找工作了,为了整理下项目, ...