nrf24le1学习笔记

时间:2022-04-14 00:36:17 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
1 写卡时,需要将两根绿色的线进行短接,否则写卡失败!

除此之外,当写卡烧录完写程序后,配置完读卡参数之后,需要重新上电,并且还需要重新关闭串口再打开串口。否则不能写卡

另外,注意卡片电池,如果电池电源太低,也不能写卡。

写卡器刚烧录完程序后,当配置完读卡器配置后,需要重新关闭和打开串口,再进行写卡器配置(或者软件重开),否则无法写卡。 2 所有的内存在没有写之前都是FF 3 RC振荡器:

在振荡电路中的频率选择部分可以只用电阻和电容构成。这种只用电阻和电容构成的振荡器称为RC振荡器。 晶振:

只要在晶体板极上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压电效应。当外加电压频率等于晶体谐振器的固有频率时,就会发生压电谐振,从而导致机械变形的振幅突然增大。

4 温度系统:温度系数表征标称值受温度变化影响的程度,单位是 ppm/°C。如电

阻的阻值,基准电压源的电压值等。温度系数通常非常小,采用百万分比(ppm)表示更容易。 5 编程总结:

1nrf24le1芯片使用时,有一个寄存器,是用于控制端口操作的,如果关闭此端口则不能正确操作此端口。OPMCON = 0x02;则表示关闭了端口,在使用端口时,应该重新打开端口。如OPMCON = 0x00;

2nrf24le1芯片,当使用它与C8051F120进行SLAVE SPI通信时,如果已经完数据,而要从已写完的数据中,再读取出来,则需要一定的延时!

3两块单片机使用SPI通信时,如果配置的晶振频率过高,有可能使得程序在while循环等待过程中接收不到另一发起人单片机的程序,从而出现单片机死机的现象。

4使用nrf24le1时,在使用二维数组不能将二维数组的地址传递给一个数a再把a传递给b而就直接交二维数组传递给b

5关于returnbreak使用return时是跳出此子函数,回到调用该子函数的后面。而使用break时是跳出该循环体。


6. 关于卡片睡眠醒来操作内存:当卡片醒来,若是要操作内存,则必须将系统时钟重新配置:CLKCTRL=0;delay_nms(30);(延时是为了等待时钟响应)。否则操作不了内存。

7ifwhile不满足时,程序如何执行:当程序中,如果ifwhile不满足条件时,程序将跳过ifwhile的条件判断语句及,执行语句,直接执行后面的语句。4/25/2013 11:31:24 PM



6 如何计算数据在空中传送的时间4BYTE数据,空速1M

T=4*8/1M=32us

7 参数传递可以分为两种:一各是数值传递,另一各是引用传递。前者仅仅是交数值传递

给了形参,而不返回结果,后者其实是把的地址传递给形参,实参和形参其实都是同一个变量,被调用函数通过修改该变量的值返回给调用函数,从而把结果带回,在参数传递过程中,通过在参数前加上&,表示引用传递,如果参数前没有&,表示数值传递。 8 指针变量和变量一样,都可以对数据进行操作,指针变量的操作主要是通过取地址运算

&和指针运算符*来实现的。例如,&a指的是变量a的地址,*prt表示变量ptr所指向的内存单元存放的内容。

另外:*”和“&”这两个运算符是互逆的。

9 当使用extern时,exrern的参数必须是在主函数中定义,不能只是在子函数中定义。

否则虽然编译时没有问题,但是不能生成HEX文件。 10关于->运算符:

若是指针就用->,若是结构名就用.就是了.这个是成员操作符,控制具体的成员.

11对于nrf24le1芯片,当对端口进行执行操作时,如指令P11=1,P11=0;这两个指令之间的执行时间为750ns

12对于卡片,当写卡已经写好600ms发送一次卡号时,大致还是600ms多一点发送一次数据,但是并不是每隔600ms发送一次,有可能某一次没有发送。也就是说并不能保证每一次都发送数据。

13使用Keil软件时HEX文件以及包含HEX文件的文件夹,不能使用逗号进行命名。否则烧录程序的时候会出现错误的文件名提示。

使用Keil软件时,文件名的命名不能使用小括号(),否则会造成调试程序时,当查

找某一个变量时,虽然查找到了该变量,但跳转不到该变量的位置。但是可以使用中括号[]


14读卡器配置为主动上传时,功率调节只能设置为硬件可调,因为如果设置为软件调节时,主动上传会占用系统总线使得无法从上位机上下发数据至读卡器。

当读卡器配置为组网时,功率真调节既可设置为组硬件可调也可以设置为软件可调。

15关于2I03硬件问题:当使用通用485时,会出现乱码,有时也无法授权;而当使用黑盒子时,没有任何类似的问题。解决方法:将SIPEX485EEN-L/NSOIC-8的输出AB线的上拉电阻除去。因为SIPEX485EEN-L/NSOIC-8这个芯片本身已经带了上拉了。

16、当使用端口灯,或者蜂鸣器作为标志跟踪数据,在反复循环过程中,如果没有发现灯闪,或者蜂鸣器鸣叫,则有可能是灯闪了或蜂鸣器叫了,只是人眼/耳朵没有分辨出来。特别是蜂鸣器,示波器是看不出来的,因为它是鸣叫一声一个高电平,所以即使有反复的鸣叫,也只能看到高电平一次,而不是一个反复的波形。

17hal_flash_bytes_read(DEVICEID,IDE,4);这个函数,不能读取程序存储区里的数据。若要读取程序存储区里的数据,只需要将hal_flash_bytes_read(DEVICEID,IDE,4);函数里的关键字Xdata换成code即可。

18、当发射等待用delay_nms(1)等待发射完成时,有可能造成卡片数据多次重发。所以建议使用while(!TX_DS);

192.4G腕带卡死机情况:卡片板子焊接有问题,重新烫一下就好了。

20卡片程序功耗问题:配置void rf_init(void),沿用之前的机制,即swith语句,否则功耗则非常大。

21卡片程序连续再次发送卡号:程序如下(必须重新配置射频,必须清sta





TX_TEST_Mode(); while(!(TX_DS)); sta=0; rf_init(); TX_Mode(); while(!(TX_DS));


本文来源:https://www.wddqw.com/doc/16f8a6b8cc22bcd126ff0c4c.html