打印

cc2500校验错误而且有时mcu莫名的中断

[复制链接]
2900|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wengjianfen|  楼主 | 2012-1-8 00:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近接了个项目!请教各位大虾几个问题;项目内容:其中一块板,使用电路依次选通10个2500模块测试性能(一个选通,其他都在高阻态),另外一块板固定接收数据;双方各发送10包数据,检验各个模块的RSSI。SPI速率500k;波特率20k;

一:我是用GDO2引脚进行数据中断处理,是不是mcu接收“完”2500的数据,就产生中断?为何mcu会产生莫名的GDO2中断?而且这个中断产生时RF模块不在IDLE状态下(接收程序中判断RF模块是否在IDLE状态下,是的话就接收数据。RF设置发送或接收完都进入IDLE状态),怎么解决比较好?

二:校验出错。GDO2中断后,RF在IDLE状态下,但在校验的时候错误(概率不会太高)。我读取接收的数据,的确是我发送的数据,为何判断会出错?

公司保密,带不出程序!请各位大哥赐教:因为这问题,我已经被骂了n次了!

相关帖子

沙发
wengjianfen|  楼主 | 2012-1-8 01:15 | 只看该作者
补充一下:一:发送和接收方都启动了CRC校验
               二:GDO2引脚配置在0x06;
               三:领导说这些问题都可以用软件解决。
             我将莫名的GDO2中断进入接收程序以后,不修改RF的状态(直接return,没清除RXFIFO,也没清中断标志,之前清了好像作用不大),主要是防止RF在接收状态,此时清数据会对数据包造成影响。但。。。进了这个中断以后,后面的数据包就在也收不到了!
             如果说这个中断是RF来的,为何RF状态没切换到IDLE?如果是MCU自己产生的,为何会对后面的数据包造成影响?如果进了这个中断以后,将RF状态改为RX,对此时正在接收的数据包会不会造成影响?
           哭了!各位大虾救命啊。。通宵好几天了!~~

使用特权

评论回复
板凳
wengjianfen|  楼主 | 2012-1-8 19:57 | 只看该作者
没人回答我啊!~~自己顶上!~~

使用特权

评论回复
地板
wengjianfen|  楼主 | 2012-1-8 20:58 | 只看该作者
现在搞清楚GDO2是如何产生中断的了!首先上电时,GDO2处于低电平,当有数据发送或接受时,GDO2拉为高,当发送或接收结束时,GDO2降为低。所以使用下降沿中断,即可知道是否接收完毕!
  哪位大哥能回答一下,莫名的GDO2进入后,软件该怎么处理比较好。此时不知道2500是什么状态,怎么保留2500状态不改变?

使用特权

评论回复
5
wengjianfen|  楼主 | 2012-2-12 19:36 | 只看该作者
现在发现,那个中断是配置没配置好产生的,而且进了中断后,要清除中断标志位,这样操作后,效果好了很多,目前就发现这么多,跟大家分享一下!

使用特权

评论回复
6
liu8023lai| | 2012-12-3 22:09 | 只看该作者
本帖最后由 liu8023lai 于 2012-12-4 19:03 编辑

我上升沿中断可以,不过得在中断服务程序里等待中断引脚变为低电平,才是接收完毕的标志,进而处理数据。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

10

帖子

0

粉丝