0

タイトルの通り、UbuntuでC#を使ってパラレル(LPT)ポートを制御したいです。

これを可能にする Mono の組み込みライブラリはありますか?

誰でもこれを機能させるコード例を教えてもらえますか?

4

2 に答える 2

1

基本ガイド、および入力ドライバーと API を使用するための C# コード: http://www.codeproject.com/KB/cs/csppleds.aspx

パラレルポートに関連する技術的およびソフトウェアの両方のリンクのより一般的なコレクション: http://www.lvr.com/parport.htm

私はこれを調査するのにかなりの時間を費やしましたが、ネイティブの mono ライブラリは見つかりませんでした。ところで、シリアルポートの方が簡単です。

于 2012-12-11T00:01:32.397 に答える
0

Jesper の貢献は認めますが、彼の回答は不完全であると感じました。最初の回答では、Dai が指摘したように Windows コードへの言及しかありませんでした。P/Invoke に関する Jesper のフォローアップ コメントは、答えを見つける道に私を導きました。

ここにコードサンプルを含む完全なソリューションを文書化しました: http://www.iaincarlin.com/ylsned/controlling-the-parallel-port-using-ubuntu-mono-and-c/ただし、一言で言えば:

  • C# Mono には、パラレル ポートにアクセスするためのネイティブ ライブラリがないようです。
  • P/invoke が必要であり、LPT1 ポートにアクセスするために DLLImport で呼び出すことができるネイティブ C++ アプリケーションを作成する必要がありました。
  • C++ アプリケーションは基本的に、C# から呼び出すことができる io ライブラリの outb 関数のラッパーを提供します。

上記の私のブログ投稿には、私が行っていたことの背景に関する詳細が含まれています。ネイティブ C++ を使用して同じことを行うこともできましたが (実際、既存の Dos コードを Linux に移植する方が簡単だったでしょう)、Mono で実験したかったので、これが実際的な方法でした。

ここの投稿に感謝する必要があります: http://www.moythreads.com/wordpress/2008/02/04/pinvoke-how-to-call-c-from-c/これを機能させるのに最も役立ちました.

于 2012-12-13T10:19:34.410 に答える