大学生电子设计竞赛
直播中

颜立歆

8年用户 976经验值
擅长:控制/MCU
私信 关注
[问答]

请教关于 nrf2401 例程读取sta寄存器的一些奇怪的问题

首先表示,调试了很久,有很多不知名的问题。
下面两张图是间隔在30s之内的仿真结果,实验了多次,结果相同,所以我发上帖上来请教下工程师。编译器没有开启优化

回帖(3)

王龙

2018-7-23 03:28:33
您好,您可以试一下。定义变量sta时,uint8_t sta;后边不要加函数。
读值时,只在下边一行代码sta=Read_Reg(NRF_READ_REG+NRFRegSTATUS);处完成。
另外,您可以参考一下官网提供的例程。
举报

颜立歆

2018-7-23 03:37:04
引用: xzx1 发表于 2018-7-23 03:28
您好,您可以试一下。定义变量sta时,uint8_t sta;后边不要加函数。
读值时,只在下边一行代码sta=Read_Reg(NRF_READ_REG+NRFRegSTATUS);处完成。
另外,您可以参考一下官网提供的例程。

这就是参照官方的例程改的代码。官方例程通信速率太低了。而且我觉得e2 studio 编译有问题,程序中无关大局的改动,会造成执行现象不同。
还有一种现象出现很多次,不知道大家有没有遇到。1、代码执行可以看到某种现象判断执行成功,2、修改之后,发现改错了,没有看到该现象,3、将代码恢复到改动之前,仍然不能看到该现象。
举报

王龙

2018-7-23 03:47:30
引用: uuwfjwer 发表于 2018-7-23 03:37
这就是参照官方的例程改的代码。官方例程通信速率太低了。而且我觉得e2 studio 编译有问题,程序中无关大局的改动,会造成执行现象不同。
还有一种现象出现很多次,不知道大家有没有遇到。1、代码执行可以看到某种现象判断执行成功,2、修改之后,发现改错了,没有看到该现象,3、将代码恢复到改动之前,仍然不能看到该现象 ...

官网的例程所说的现象是P4口外接8个led灯,且8个led灯用共阳的方式连接。现象是8个led灯会按照流水灯的方式循环点亮。只有最小系统板和NRF24L01模块看不到这个现象。
调整通讯速率,可以通过代码生成工具调整,请参考代码附带的说明手册,第4张配置图,第一个红色方框处。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分