搜索
bottom↓
回复: 3

问题:NRF24L01 的调试出现的问题?

[复制链接]

出0入0汤圆

发表于 2009-7-9 15:42:41 | 显示全部楼层 |阅读模式
你们好:
条件:一个发射,一个接收。。。发射是3秒发射一次。。
     然后调试接收。。。。
问题:
在调试NRF24L01的时候,发现中断都进不了?
有时候掉电后在开,偶尔有几次进入中断,然后再也不进了。。
用示波器看IRQ波形,一直是低电平。。。。(选择的是下降沿触发中断)。
中断处理函数中也清标志了:(中断函数)
sta=SPI_Read(STATUS);        // read register STATUS's value
                if((sta&0x40)==0x40)                                // if receive data ready (RX_DR) interrupt
                {
                        SPI_Read_Buf(RD_RX_PLOAD,rx_buf,TX_PLOAD_WIDTH);// read receive payload from RX_FIFO buffer
                        flag=1;
                }
                if((sta&0x10)==0x10)
                {
                        SPI_RW_Reg(FLUSH_TX,0);
                }
                        SPI_RW_Reg(WRITE_REG+STATUS,sta);// clear RX_DR or TX_DS or MAX_RT interrupt flag

通过读
        test=SPI_Read(READ_REG+FIFO_STATUS);        // read register STATUS's

读出的值0X12 说明:RX接收寄存器是满的,进行了多次重发中断(我已经在程序CONFIG内把重发中断关闭了)。

如用查询的方法:读取STATUS的中断标志的话,接收的正确的几率很大。。。但是持续1个小时后。。。就出现错误而且不能恢复,重新上电又正常。。
  请把你们的经验告诉我们。。。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2009-7-9 22:59:42 | 显示全部楼层
我用查询一切正常
用中断接收有时候就触发不了,手动给irq一个低电平,然后中断每次都能进了           晕的

出0入0汤圆

 楼主| 发表于 2009-7-10 09:25:05 | 显示全部楼层
我的也是一样,是不是NRF24L01的芯片设计的问题?

出0入0汤圆

发表于 2009-8-13 22:32:03 | 显示全部楼层
可能是中断程序中清除中断时后一个中断已经产生,清除之后下一个数据包不能产生中断,
我用查询FIFO状态来做的

我碰到一个问题就是明明发送端收到了接收端的ACK,但是接收端有时还是查不到收到的数据包,
不知有谁碰到过没有?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-7 15:58

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表