同じチャネルのハンドルを取得した場合、
var channel = 0;
var handle1 = Canlib.canOpenChannel(channel, 0);
var handle2 = Canlib.canOpenChannel(channel, 0);
1回目に開いたハンドルでCAN送信すると、
Canlib.canWrite(handle1, id, msg, dlc, 0);
2回目に開いたハンドルでCAN受信することが出来る(デフォルト動作)
Canlib.canRead(_handle2, out var id, msg, out var dlc, out var flag, out var time);
これは抑止するためには、以下処理を実装すれば良い(バスON前に設定)
Canlib.canIoCtl(handle1, Canlib.canIOCTL_SET_LOCAL_TXECHO, 0);
CANlib SDK:
canIoCtrl
https://www.kvaser.com/canlib-webhelp/group__can__general.html#gacef9be3499b47381587121437d9386ba
https://www.kvaser.com/canlib-webhelp/canlib_8h.html#a86f7ce6c809f30983b69ead49d793689
0コメント