嵌入式爱好者

查看: 10603|回复: 6

TE2440-II CAN驱动问题,向斑竹求解。

[复制链接]

4

主题

38

帖子

54

积分

AM335x通行证

扫一扫,手机访问本帖
发表于 2011-4-26 11:04:24 | 显示全部楼层 |阅读模式
TE2440-II中CANBUS部分,mcpcan.c中连续读取TEC,REC以及EFLG寄存器的值,但是得到的结果很让人意外,偶尔会出现不一样的情况,且差别很大(一次是0,一次是255)。在如此短的时间内TEC和REC应该不会一下子就加到255了吧,请斑竹关注一下。部分代码如下:
                        temp = CAN_SPI_CMD( SPI_CMD_READ, TOLONG(&(MCP2510_MAP->EFLG)), ARG_UNUSED, ARG_UNUSED );
                        temp1 = CAN_SPI_CMD( SPI_CMD_READ, TOLONG(&(MCP2510_MAP->EFLG)), ARG_UNUSED, ARG_UNUSED );
                        if(temp!=temp1)
                        {
                                printk("EFLG0 = %d\n",temp);
                                printk("EFLG1 = %d\n",temp1);
                        }
                        put_user(temp,(unsigned int *)arg);   

                        temp = CAN_SPI_CMD( SPI_CMD_READ, TOLONG(&(MCP2510_MAP->TEC)), ARG_UNUSED, ARG_UNUSED );
                        temp1 = CAN_SPI_CMD( SPI_CMD_READ, TOLONG(&(MCP2510_MAP->TEC)), ARG_UNUSED, ARG_UNUSED );
                        if(temp!=temp1)
                        {
                                printk("TEC0 = %d\n",temp);
                                printk("TEC1 = %d\n",temp1);
                        }
                        temp = CAN_SPI_CMD( SPI_CMD_READ, TOLONG(&(MCP2510_MAP->REC)), ARG_UNUSED, ARG_UNUSED );
                        temp1 = CAN_SPI_CMD( SPI_CMD_READ, TOLONG(&(MCP2510_MAP->REC)), ARG_UNUSED, ARG_UNUSED );
                        if(temp!=temp1)
                        {
                                printk("REC0 = %d\n",temp);
                                printk("REC1 = %d\n",temp1);
                        }


结果如下:
EFLG0 = 0
EFLG1 = 255
TEC0 = 0
TEC1 = 255
REC0 = 0
REC1 = 255
回复

使用道具 举报

4

主题

38

帖子

54

积分

AM335x通行证

 楼主| 发表于 2011-4-27 09:10:10 | 显示全部楼层
回复 1# cyz331


    请斑竹关注一下,谢谢!另请高人指点,也请有遇到过类似问题的兄弟帮忙看看。

4

主题

38

帖子

54

积分

AM335x通行证

 楼主| 发表于 2011-4-27 14:37:25 | 显示全部楼层
自己顶一下,因为上述三个寄存器都是可变的。因此我又做了一个实验,这次是读CNF2寄存器的值。我在初始化的时候写死的是222,但是按照上面的方法来做偶尔连续两次读出来还是不相等,有时候是0和222,有时候是222和255.请帮助关注下,谢谢!

4

主题

38

帖子

54

积分

AM335x通行证

 楼主| 发表于 2011-4-29 12:09:13 | 显示全部楼层
飞凌客服都放假了吗???????????????????????????????

4

主题

38

帖子

54

积分

AM335x通行证

 楼主| 发表于 2011-5-10 10:51:00 | 显示全部楼层
飞凌这个客服到底是怎么回事。能不能解决,是不是问题总得给个回复嘛。这样不闻不问是什么意思????????????????

0

主题

0

帖子

0

积分

发表于 2011-5-10 13:38:14 | 显示全部楼层
是在wince上面的吗?用提供的例程测试是什么结果呢

4

主题

38

帖子

54

积分

AM335x通行证

 楼主| 发表于 2011-7-11 09:50:30 | 显示全部楼层
飞凌-vxworks :偶的环境是TE2440-II,linux-2.6.12内核。文件系统是qte_touch.yaffs(qtopia部分被我删除了)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2025-1-11 16:54

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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