主题:EM9260 CAN通讯 共有31286人关注过本帖 |
---|
hohai_whl |
1楼 |
EM9260 CAN通讯 Post By:2009-4-28 11:39:00 [只看该作者]
请问一下:
1)EM9260 CAN通讯时,寄存器ACR,AMR如何完成对所需信息的过滤? 2)想利用EM9260和ZLGCANtest软件实现通讯测试,软件设置项中,有一项为8位的“帧ID”,请问,这个和传输的帧信息中11位或29位的id有关系吗? 3)贵公司提供的API_H文件中,将帧信息格式定义成 BYTE FrameInfo, BYTE ID[4], BYTE Data[8]三项。 请问,和ZLGCANtest软件通讯时,需设置的发送项仅为8位数据体。关于“帧类型”“标示符ID”在API_H文件中如何获取的? 谢谢! |
|
单帖管理 | 引用 | 回复 |
zhl |
2楼 |
Post By:2009-4-28 12:30:00 [只看该作者]
1)EM9260采用的是SJA1000 CAN控制器,对信息的过滤是通过函数设置:CAN_SetGlobalAcceptanceFilter(HANDLE hDevice, BYTE *AcceptanceFilter, BYTE size);
AcceptanceFilter: 根据通讯报文格式定义过滤器的配置,定义为9个字节的过滤器,其中前4个字节用于定义过滤器的接收码,后4个字节用于定义过滤器的接收屏蔽码,最后一个字节用于定义选择单/双滤波模式。其中接收码和屏蔽码分别对应于SJA1000 CAN控制器中的ACR、AMR寄存器的设置参数,滤波的方式请参见SJA1000的数据手册中相关说明。如果不对数据进行滤波,将AMR的值均设为0xff。 2)ID的位数和数据帧选用的模式有关:标准帧为11位、扩展帧为29位。 3)发送帧信息的结构是由帧信息、报文识别码以及数据帧的实际数据组成。请参见网站上“WINCE系统双CAN构建方案”一文对CAN报文帧格式的相关介绍。 |
|
单帖管理 | 引用 | 回复 |