香椿头 发表于 2013-4-23 11:52:48

CAN通信数据丢失,请大家帮帮忙看看

大家好,我第一次做单片机项目,遇到了点问题,在此向大家请求帮助。
我们现在在做一个基于CAN通信的控制系统,下位机控制器用的是AT90CAN32的单片机,CAN收发器用的是PCA82C250。
没有接触过CAN通信,这段时间只是在根据一些例子编写一些简单的发送程序。
我们有一个CAN协议转换器(CANMT3),就是CAN转成232通过串口在电脑上查看单片机CAN通信发送的数据。
现在的问题主要有两个,一、我配置的数据长度是8个字节,可是在电脑用串口助手查看,数据域只有5个到7个字节,最后几个字节成了0x00;二、这个是我无意中发现的,CAN通信应该有两根线,CANH和CANL,可是我发现只用一根线,将82C250的CANH(或CANL)与协议转换器的CANH(或CANL)连接,居然也能收到数据。
请大家帮忙看看,先谢过!

wychao 发表于 2013-4-23 12:46:27

1.如果你的can收发器是容错的,那么接一根线也可以通信;
2.你的波特率是多少?高速必须加终端120R电阻

wychao 发表于 2013-4-23 12:47:55

3.‘我配置的数据长度是8个字节,可是在电脑用串口助手查看,数据域只有5个到7个字节,最后几个字节成了0x00’这个看着像是CAN协议转换器(CANMT3)的问题
一般不会只有前几个字节对,要么全对,要么没有

kazenoai 发表于 2013-4-23 13:08:12

CAN如果传输成功,那么不会只出现只有几个字节是对的,要么全对,要么就收不到!

lee345 发表于 2013-4-23 13:44:07

是啊,CAN本身有校验的,可能是显示出问题吧

香椿头 发表于 2013-4-23 21:14:21

wychao 发表于 2013-4-23 12:46 static/image/common/back.gif
1.如果你的can收发器是容错的,那么接一根线也可以通信;
2.你的波特率是多少?高速必须加终端120R电阻
...

1.我收发器用的是PCA82C250;
2.设置的波特率是125;但是我试了一下不同波特率比如100或250,干脆没有任何数据发出,不知道为什么?波特率的设置是不是就是CANBIT1、2、3那几个寄存器就OK了?我是按照DATASHEET上给的设置的,但现在只有125波特率好使。

香椿头 发表于 2013-4-23 21:14:46

kazenoai 发表于 2013-4-23 13:08 static/image/common/back.gif
CAN如果传输成功,那么不会只出现只有几个字节是对的,要么全对,要么就收不到! ...

我也觉得奇怪
页: [1]
查看完整版本: CAN通信数据丢失,请大家帮帮忙看看