1

私は mono と C# に本当に慣れていませんが、ソケットを使用して CAN 経由で通信を開始したいと考えています。問題は、多くのプロトコルとアドレス ファミリが実装されていますが、今のところモノでは CAN がサポートされていないことです。システム カーネルはそれをサポートしていますが、この方法でファイルにパッチを適用して SystemCall レベルまで下げることはできません。したがって、本当に素晴らしいモノ開発コミュニティの一員である誰かがこれを読んだら、私とこの機能を必要とする他の多くの人を助けてください。3週間以来、私は何かをグーグルで検索し、それを取得するための独自の回避策を見つけようとしましたが、今まで成功していません. ここstackvoerflowのこの質問で私の問題が解決されない場合でも、私よりモノとハードコードの改善に優れている人をやる気にさせて、他の人がCANとモノで簡単に作業できるようにしたいと考えています. 基本的な問題は、変数 AF_CAN および PF_CAN がモノラルで実装されていないこと。値 29 の PF_CAN と AF_CAN を追加してこれらのファイルを調整することで最善を尽くしましたが、うまくいきません

.../mono-3.2.8/mono/metadata/socket-io.c
.../mono-3.2.8/mcs/class/System/System.Net.Sockets/AddressFamily.cs
.../mono-3.2.8/mcs/class/System/System.Net.Sockets/ProtocolFamily.cs

すべて揃っているので助けてほしいのですが、すべてをまとめることはできません。C では、この方法で簡単にソケットを開くことができ、CAN バスは問題なく動作しますが、モノラルでは、すべてを機能させるには小さな石が欠けています。

よろしくベン

4

1 に答える 1

2

最も簡単な回避策は、SocketCAN を処理するライブラリを C で記述し、C# コードからライブラリ呼び出しを呼び出すことです。このチュートリアルを参照してください。

別の方法として、 socketcandを見て、その TCP ベースの API を実装することもできます。

于 2014-04-02T09:25:00.720 に答える