21

別の大きなアプリケーションのテスト目的で CAN ポートをエミュレートするプログラムを作成したいと考えています。プログラムは、この仮想 CAN を介して以前に記録されたデータを送信する必要があります。誰でもそのような経験はありますか?

仮想 COM を確立し、CAN フレームにパックされたデータを送信することを考えています。それはうまくいくでしょうか?また、Linuxで仮想COMを確立するにはどうすればよいですか? このスレッドVirtual Serial Port for Linux を見つけまし たが、残念ながらそれをプログラムのソース コードに実装する方法がわかりません (初心者の Linux ユーザーと Linux のプログラマー)。

あなたの経験と提案を読んでみたいです。

4

2 に答える 2

49

Ubuntu などの最新の Linux ディストリビューションで利用可能なSocketCANドライバーが必要です。SocketCAN は仮想 CAN ポート ドライバーを提供します。

sudo modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0

vcan0デバイス経由で CAN フレームを送受信できるようになりました。ウィキペディアの記事では、SocketCAN の使用方法に関する簡単なコード例を提供しています。

テスト目的でcan-utilsも必要です。

SocketCAN とその使用法についての詳細は、eLinux.org を参照してください。

于 2014-01-10T09:14:47.507 に答える