主题:请教CAN问题

  共有23126人关注过本帖    
EM9260
1楼


请教CAN问题  发帖心情 Post By:2009-9-18 21:04:00   [只看该作者]

EM9260开发板,SJA1000控制器
例:两台机器,01 ;02
若02需要01发送数据,向01发送远程帧。。。
01会返回相同标示符的数据帧
请问:
1)01 ;02都有ACR,AMR过滤要求;02向01发送远程帧,符合01的过滤要求,01可以接收;
但01返回相同标示符的数据帧,02可以收到吗?

2)01返回的数据帧,是自动返回的吗,返回的是什么内容?
如果想返回规定的数据,该如何设置?

O(∩_∩)O谢谢!

  单帖管理 | 引用 | 回复 回到顶部
zhl
2楼


  发帖心情 Post By:2009-9-19 10:12:00   [只看该作者]

1) 只要返回的数据帧,符合02机器 ACR、AMR的设置,02可以接收。在我们提供的测试程序Cantest中,02可以收到。
2)cantest测试程序中,将接收到的数据帧自动返回,返回的数据就是接收到的数据。这是应用程序来实现的,如果想返回规定的数据,可以修改这部分的程序。

  单帖管理 | 引用 | 回复 回到顶部
EM9260
3楼


  发帖心情 Post By:2009-9-20 9:12:00   [只看该作者]

在提供的测试程序Cantest中,AMR全部为0xff。
但实际使用中,我用ID其中几位来表示01,02两台机器的地址,以备接收数据时屏蔽用
1)02向01发送远程帧,符合01的过滤要求,01可以接收;
但01返回相同标示符的数据帧,02应该收不到吧?该如何解决呢?
2)提供的cantest测试程序中,将接收到的数据帧自动返回,返回的数据就是接收到的数据。
请问:远程帧以何种方式工作?是否仍是通过CAN中断来获取,回调函数人为处理返回数据帧? 如果这样,和01向02发送一个不含数据场的数据帧来索要数据这种形式,好像并无区别.
还是你们的驱动程序中,已经做了处理?

  单帖管理 | 引用 | 回复 回到顶部
zhl
4楼


  发帖心情 Post By:2009-9-20 9:58:00   [只看该作者]

1、AMR设置为0xff,所有的ID可以收。所以cantest测试01 02之间是可以相互收发。
2、远程帧和数据帧的区分是通过帧结构来区分的,这部分的内容你可看看应用方案中“WinCE系统双CAN构建方案”中对CAN报文帧格式的介绍。无论是远程帧还是数据帧,接收的方式是一样的。

  单帖管理 | 引用 | 回复 回到顶部

返回首页

请教CAN问题

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: