请教CAN总线通讯问题 点击:2859 | 回复:6



静然

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:12帖 | 194回
  • 年度积分:0
  • 历史总积分:271
  • 注册:2004年4月23日
发表于:2004-05-21 17:16:00
楼主
请教CAN总线通讯问题 请教各位高手:    我所开发的目标板采用的是P87C591+PCA80C250,两者没有经过任何隔离,直接相连;通过CANMINI向总线上发送数据,现在在调试CAN通信的时候遇到了一些问题:    ZLGCANTEST向总线发送数据,能观察到591的SR寄存器值为0x1C,表示正在接收数据,进入中断服务程序后,读出519的IR寄存器的值是0x80,即总线错误中断;发送数据的时候也是总线错误中断。不知道这主要是什么原因造成的,请各位高手帮我分析一下。谢谢!!    注:目标板采用的是12M的内部时钟,波特率设置的是1M,滤波器设定的是全接收;ZLGCANTEST采用1M波特率发送数据。目标板上接了120欧的终端电阻,硬件方面我检查过,应该没有问题的。象这种情况,我应该特别注意哪些方面的问题呢?    感激不尽~~~~~~



静然

  • 精华:1帖
  • 求助:0帖
  • 帖子:12帖 | 194回
  • 年度积分:0
  • 历史总积分:271
  • 注册:2004年4月23日
发表于:2004-05-24 11:55:00
1楼
ding!

笨苯熊

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:56
  • 注册:2004年5月26日
发表于:2004-05-26 23:02:00
2楼
联系我们:010-63329499

清风笑

  • 精华:1帖
  • 求助:0帖
  • 帖子:4帖 | 99回
  • 年度积分:0
  • 历史总积分:1294
  • 注册:2001年11月08日
发表于:2004-05-28 16:19:00
3楼
/* ************************************************************************************************************************ **函数原型: char SJASetBandRateStandard(unsigned char BandRateSize) **参数说明: BandRateSize 标准常用波特率(Kbps) ** 0 5 ** 1 10 ** 2 20 ** 3 40 ** 4 50 ** 5 80 ** 6 100 ** 7 125 ** 8 200 ** 9 250 ** 10 400 ** 11 500 ** 12 666 ** 13 800 ** 14 1000 **返回值: ** 0 ; 设置总线定时器成功 ** SJA_SETBTR_ERR ; 设置总线定时器错 ** SJA_NOBTRSIZE ;波特率不能设为此值 ** **说明: 该函数用于设定在系统晶体为12MHZ时,常用的标准波特率的值。 ** 参数BandRateSize只能为0~14,其它的值会返回SJA_NOBTRSIZE错误 ** 本函数只能用于复位模式 ************************************************************************************************************************ */ unsigned char code SJA_BTR_CODETAB[]={ 0xbf,0xff, //;5KBPS的预设值 0xef,0xff, //;10KBPS的预设值1 0xd7,0xff, //;20KBPS的预设值1 0xcb,0xFF, //;40KBPS的预设值1 0x47,0x2F, //;50KBPS的预设值 0xc5,0xFF, //;80KBPS的预设值1 0xc9,0xa7, //;100KBPS的预设值1 0x45,0x2B, //;125KBPS的预设值1 0x04,0xa7, //;200KBPS的预设值1 0x01,0x1c, //;250KBPS的预设值 0x02,0x25, //;400KBPS的预设值1 0x01,0x45, //;500KBPS的预设值1 0x80,0xb6, //;666KBPS的预设值 0x00,0x16, //;800KBPS的预设值 0x01,0x12 //;1000KBPS的预设值1 };

小汤姆

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2004年2月20日
发表于:2004-06-01 21:15:00
4楼
可能原因: 1.波特率设定的不对 2.是否有2.0A或2.0B协议不统一? 一般来说出现总线错误,多半是总线设置有问题。

wkingw

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 13回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2004年4月12日
发表于:2004-06-07 13:23:00
5楼
请问苯苯熊是做什么的呀?

好娃娃

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 2回
  • 年度积分:0
  • 历史总积分:6
  • 注册:2004年6月07日
发表于:2004-06-07 19:20:00
6楼
看看中断设置是否开错了,can网首末都应接120欧电阻。

热门招聘
相关主题

官方公众号

智造工程师