打印

请教C8051f040中CAN模块调试的一些问题

[复制链接]
2717|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xjycug|  楼主 | 2008-4-26 11:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我是个新手,
向研究过c8051F040中bosch CAN模块的高手们请教一个问题。
我遇到几个很奇怪的问题,在实验中将消息对象1配置为发送,将消息对象2配置为接收,将发送与接收成功中断标志都置1,数据帧配置为扩展帧,ID均配置为0x5555555,波特率是1Mb/s。
第一个问题是,在测试阶段,将控制寄存器中Test位置1,进入测试模式,并将测试寄存器中LoopBack置1,则可以自收自发,但无法向外发送数据。而将LoopBack与Silence均配置为1,也可自发自收,但是仅将Silence位置1,则无法自发自收,参考Bosch User Guide,应该是都可以自发自收的。不知还有哪里有问题。
第二个问题是,在测试阶段,将LoopBack与Silence位均置1,且利用中断自发自收均成功的前提下。将Test位置0后,与外部的CAN卡,无法实现正常通讯,即无法正常收发。我在调试时通过keil中提供的外设寄存器观察,发现,状态寄存器显示的是0x61,就是busoff位和EPass位置1,还有表示总线上发送五个相同的位,不符合CAN通讯要求。我不清楚状态寄存器为什么会呈0x61。
第三个问题是,如果我想用示波器观察CAN总线上的数据帧,参考点取哪儿,是CANL,还是GND。
不知问题提出是否清楚,希望得到有调试经历的师傅的帮助。
我的邮箱是ggyz-2003@163.com。谢谢!

相关帖子

沙发
bao11975| | 2008-4-26 15:51 | 只看该作者

回答最后一个问题

参考点是CANL

使用特权

评论回复
板凳
xjycug|  楼主 | 2008-4-30 20:39 | 只看该作者

回复

我自己搞定了!!哈哈,发个贴,呵呵

使用特权

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

本版积分规则

20

主题

185

帖子

2

粉丝