AT89S52控制两个NRF24L01可以发送和接收,但要单片机重新上电后才能接收,单片机复位就

2020-01-22 12:06发布

我用AT89S52控制两个NRF24L01模块,现在可以发送和接收了,但是要单片机重新上电后才能接收,单片机复位后马上就接收不到!!只有单片机重新上电才可以接收!这是为何??代码就不传了。。大家就经验说说就行。。。

以下蓝 {MOD}文字由站长:armok 于:2010-06-17,12:55:08 加入。
你的原标题:“<font color=black>NRF24L01奇怪现象!
” 不合符规定。请更改成能说明帖子大意的标题
试想一下,如果本论坛的帖子标题清一 {MOD}的‘帮助!’,‘ADC求救!’等笼统的标题,你在阅读的过程中会造成许多麻烦。
所以本论坛规定:一定要起一个能说明帖子大意的标题。不允许“关于 AVR 的 ADC 使用!”这种笼统标题。作为标题,必须说明清楚:
 ①你是在请教问题,还是在介绍有关的知识?
 ②ADC的问题有许多,你是想说那方面的内容?
注意以上两点,标题应该改成如:“请教:ADC 可以不使用中断吗?”。
起一个能说明帖子大意的标题,除了减轻我们的帖子分类整理工作,还方便其它人阅读,节省大家的时间。
注:使用合格的标题,对你来说只是举手之劳,但却会为我们的管理工作提供很大的便利。谢谢你的支持。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
48条回答
青梅li
1楼-- · 2020-01-28 05:06
jiang887786 发表于 2014-4-29 20:35
确实如此,开始我也是第一次成功,然后非要断电才行。复位,重初始化不行。我认为原因是FIFO没空。进行发送 ...

楼主的意思是

V08B@3_IY~XMW3KMG~$]0VF.jpg (123.41 KB, 下载次数: 0)

下载附件

2014-7-9 17:14 上传


对这两个寄存器在发送前,和接收前先清空吗?代码如下。我也试了下,是这样清空的,但是还是不是很稳定,是不是我调试的方法不对呢?还是本来24l01就很不稳定。
SPI_RW_Reg(WRITE_REG+FLUSH_TX,0);   
SPI_RW_Reg(WRITE_REG+FLUSH_RX,0);
jiang887786
2楼-- · 2020-01-28 05:47
青梅li 发表于 2014-7-9 17:16
楼主的意思是
对这两个寄存器在发送前,和接收前先清空吗?代码如下。我也试了下,是这样清空的,但是还 ...

我上传一个代码,你看看我的帖子,我做到一发一收稳定了。
青梅li
3楼-- · 2020-01-28 06:39
jiang887786 发表于 2014-7-9 22:52
我上传一个代码,你看看我的帖子,我做到一发一收稳定了。

我写的查询代码也比较稳定,发送与接受前也会清空fifo。不知道你说的稳定是什么情况。
我的代码调试成功后,比较稳定。但是当我继续调试接收的时候比如修改下接受的代码。  又开始不稳定了,这时候必须要重新上电才行。
jiang887786
4楼-- · 2020-01-28 09:04
青梅li 发表于 2014-7-10 09:20
我写的查询代码也比较稳定,发送与接受前也会清空fifo。不知道你说的稳定是什么情况。
我的代码调试成功 ...

接受完成后,读取完数据同样还是要清空接受缓冲区的,不然也不行。你打算做什么项目使用呢?
青梅li
5楼-- · 2020-01-28 12:38
 精彩回答 2  元偷偷看……
Hearthbeats
6楼-- · 2020-01-28 16:28
有前辈们的经验做指导就是好啊,今晚上再弄这个,也出现类似的问题,必须重新上电才能再次发送,完了之后,我在每次发送前,加了一个清除所有状态标志位的函数,现在按复位也可以发送了,呵呵

一周热门 更多>