打印
[CAN-bus/DeviceNet]

为什么我设置工作在自发自收模式,就能触发出错报警中断

[复制链接]
2510|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
8yuuu|  楼主 | 2007-9-17 10:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
8yuuu|  楼主 | 2007-9-17 17:11 | 只看该作者

我能进入中断只有三种情况

当我使能EIE时  发送数据的时候能有中断产生,同理,使能EPIE和BEIE时候也能产生中断,惟独就是使能TIE和RIE时却不行

使用特权

评论回复
板凳
wxj1952| | 2007-9-17 19:07 | 只看该作者

请用SRR命令,CMR=0x10。

因为你没有用SRR命令启动发送。

使用特权

评论回复
地板
8yuuu|  楼主 | 2007-9-18 08:37 | 只看该作者

我有设置啊

当我写完寄存器后就置位了啊,我的代码是这样的:
    Config();
buf[0]=0x04;
buf[1]=0x00;
buf[2]=0x00;
buf[3]=0x00;
buf[4]=0x01;
buf[5]=0xff;
buf[6]=0xcd;
buf[7]=0xff;
buf[8]=0xcd;
    i=65500;
    while(i--);
    
    BCAN_DATA_WRITE(buf);
WriteSJAReg(REG_COMMAND,0x10);

使用特权

评论回复
5
8yuuu|  楼主 | 2007-9-18 16:49 | 只看该作者

终于能进入发送接受中断了,但是是在TX0和RX0短接的情况下

忙活了那么多天,终于稍微有点进展了,但我还不明白我这种情况是为什么,怎么会只有在TX0和RX0短接的情况下才会触发发送和接受中断呢?
这是不是说明我的输出驱动级有问题呢?  我用的是PCA82C250,我把PCA82C250的第8脚接了个20k的电阻后接GND,总线的匹配电阻接了100,不觉得什么问题啊,急需帮忙?

使用特权

评论回复
6
wxj1952| | 2007-9-19 19:04 | 只看该作者

有没有万用表?

想必是已经换过82C250仍然没解决问题,量一量82C250的5V电压?第8脚我接的47K电阻,断开也行。做实验没什么道理。

使用特权

评论回复
7
8yuuu|  楼主 | 2007-9-20 14:55 | 只看该作者

wxj1952 很是郁闷! 还是老问题

已经快绝望了,查了好久就是问题的根源,贴上我的电路,忘指点

使用特权

评论回复
8
8yuuu|  楼主 | 2007-9-20 14:57 | 只看该作者

现在 我20K的换成了47K 断开也试过了

使用特权

评论回复
9
wxj1952| | 2007-9-21 16:34 | 只看该作者

很简单的事。

1、用示波器/逻辑笔测量一下82C250的1脚TXD发送数据时 有无脉冲;
2、当然有。然后再测量一下82C250的4脚RXD在发送数据时, 有无脉冲,也应该有,而且应该与TXD脚完全一样。因为82C250内部电路TXD-RXD(1、4两管脚)是逻辑上短路的,除非你的芯片没工作或者坏了或者总线电路上有故障了,断开总线独立实验一下即可。

3、把C15拿掉。

使用特权

评论回复
10
8yuuu|  楼主 | 2007-9-21 17:53 | 只看该作者

可惜我没示波器啊

可怜我现在比较艰苦
现在我怀疑sja1000有问题,为什么呢?因为我不往发送寄存器里面写值,单就写一WriteSJAReg(REG_COMMAND,0x10);  就产生中断了
不知道我分析的对不对,望wxj1952兄弟帮忙分析下啊!

使用特权

评论回复
11
wxj1952| | 2007-9-21 22:27 | 只看该作者

对的,没错!

无论TXB为何乱码,即使全0/全1,CMR=01照样发送!TR/SRR命令的发送条件只有一个:就是SR.2=1.

SJA1000没坏。坏了还能中断?

不用示波器,有仿真器就行。

使用特权

评论回复
12
8yuuu|  楼主 | 2007-9-22 08:13 | 只看该作者

哎。。。可怜还没仿真器

可惜  我都n久没使用过仿真器了,现在编程都习惯了只看指示灯的工作了。。。。
趁今天有空,继续我的can调试吧!都卡在这快一个多星期了,我会把我的进展发上来的

使用特权

评论回复
13
wxj1952| | 2007-9-22 16:11 | 只看该作者

钦佩!

太看轻自己的价值了。即使在学校,也应该有基本实验条件。在公司就更别说了。

有工具,事半功倍。可以自己做一个逻辑笔,像这种问题只要一上午就搞定了。

使用特权

评论回复
14
8yuuu|  楼主 | 2007-9-22 18:20 | 只看该作者

wxj1952见笑啊 ,由于只是个人兴趣,所以经济上就。。。

见笑了  我现在只有一个万用表,我现在测sja1000的rx和tx都没信号,都只是有4.5v左右的电压,说明什么呢?
我对解决问题的能力还比较弱,wxj1952前辈见笑啊

使用特权

评论回复
15
8yuuu|  楼主 | 2007-9-22 19:11 | 只看该作者

糊里糊涂中解决了问题

现在终于把问题解决了 ,是这样的,我换了一块sja1000后还是不行,然后把82c2508脚的对地47k电阻重新接上(以前是有的),再上电试下,竟然好了,还不明白该是什么原因,期待wxj1952前辈的解释?
会不会是我以前sja1000那几个管脚没焊好,还是其他原因?
照道理sja1000不会是坏的啊,中断都能进,奇怪中。。。。。

使用特权

评论回复
16
wxj1952| | 2007-9-24 09:16 | 只看该作者

RE

既然个人有兴趣,可以帮我们公司做课题。至少不会让你连开发工具都没有。
sakura-1987@163.com

使用特权

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

本版积分规则

24

主题

68

帖子

0

粉丝