Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17447
  • 博文数量: 12
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-11 13:35
文章分类
文章存档

2014年(12)

我的朋友

分类: 嵌入式

2014-12-11 13:41:20



关于MCP2515扩展帧数据接收测试的问题,请问下扩展帧模式下接收不到数据?而标准帧数据正常;

以下是MCP2515测试时的设置与测试情况请帮忙下:
一:屏蔽滤波寄存器的设置是:
    1:验收滤波寄存器将RXF0SIDH初始化置为本机8位的ID地址其它设为0
    2:屏蔽滤波寄存器为RXM0SIDH设为0XFF;
二:关于MCP2515数据接收测试情况是:(RX0中断接收)
    1:标准帧协议测试
    A: 设置RXM[1:0]=11,关闭接收缓冲器0屏蔽/滤波功能,接收所有报文;测试结果OK;
    B: 设置RXM[1:0]=01,只接收标准数据帧;测试结果OK;
    C: 设置RXM[1:0]=00,接收滤波器认可的标准数据帧或扩展数据帧;测试结果OK;
    2:扩展帧协议测试
    A: 设置RXM[1:0]=11,关闭接收缓冲器0屏蔽/滤波功能,接收所有报文;测试结果OK;
    B: 设置RXM[1:0]=10,只接收扩展数据帧 ; 测试结果:接收不到数据;  
    C: 设置RXM[1:0]=00,接收滤波器认可的标准数据帧或扩展数据帧;测试结果:接收不到数据;


我今天调试的时候也遇到了这个问题,之后找到原因解决了。可能其他人有类似的问题,我大概说一下。
遇到这样的问题是因为MCP2515初始化时,打开了验证屏蔽功能,但是在验证码寄存器里面有一个EXIDE位说明了该验证码是作用于标准帧还是扩展帧。
把EXIDE位置1,就可以正常接收扩展帧了,但是标准帧无法接收,需要置0就可以接收标准帧。
我觉得这是2515的一个缺陷,很不方便!
阅读(1790) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~