主題:關(guān)于CAN遠(yuǎn)程幀的問題 共有39872人關(guān)注過本帖 |
---|
askdlym |
1樓 |
關(guān)于CAN遠(yuǎn)程幀的問題 Post By:2010-5-18 14:20:00 [只看該作者]
EM9161如何發(fā)送遠(yuǎn)程幀?EVC的例子程序這項功能沒有實現(xiàn)
|
|
單帖管理 | 引用 | 回復(fù) |
lqk |
2樓 信息 | 搜索 | 郵箱 |
加好友 發(fā)短信 |
Post By:2010-5-18 17:13:00 [只看該作者]
光盤例程CANTest運(yùn)行界面中的Frame選項用于設(shè)置是否是遠(yuǎn)程幀,但在程序里面,對遠(yuǎn)程帖的選擇未處理,可以在void CCAN7Dlg::OnButtonSend() 函數(shù)中的的如下代碼前面
i1 = m_FrameType.GetCurSel( ); if( i1==0 ) { TxBuf[0] = dlen; TxBuf[1] = ID[0]; TxBuf[2] = ID[1]; memcpy( &TxBuf[3], Data, dlen ); bResult = m_Can.WriteCAN( (BYTE*)TxBuf, dlen+3 ); if( !bResult ) { MessageBox(L"Send Frame Failed!",NULL,MB_OK); } } else { TxBuf[0] = 0x80|dlen; memcpy( &TxBuf[1], ID, 4 ); memcpy( &TxBuf[5], Data, dlen ); bResult = m_Can.WriteCAN( (BYTE*)TxBuf, dlen+5 ); } 前加上發(fā)送遠(yuǎn)程幀的判斷 i1 = m_Frame.GetCurSel( ); if( i1 == 1 ) dlen |=0x40; //遠(yuǎn)程幀 也可以留個郵箱,我將修改后的例子發(fā)給你。 |
單帖管理 | 引用 | 回復(fù) |