主題:EM9260 CAN通訊 共有35683人關注過本帖 |
---|
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報文幀格式的相關介紹。 |
|
單帖管理 | 引用 | 回復 |