web-dev-qa-db-ja.com

C:クロスプラットフォームのRS-232シリアルライブラリ?

私はCのシリアルポートを操作するためのオープンソースのクロスプラットフォームライブラリを探しています。これは素晴らしい PySerial ライブラリに沿ったものです(残念ながら、このアプリケーションにはCを使用する必要があります)。

私はこれだけを見つけました: http://www.teuniz.net/RS-232/ 、そしてそれはOSXの互換性について言及していないようです。

24
Hamza

シリアルポート用のクロスプラットフォームCライブラリは、すでに20年間存在していたと思われるかもしれませんが、2013年の時点ではまだ存在していなかったため、 libserialport を作成しました。

Windows、Mac OS X、Linux(Androidを含む)、BSDでテストされており、おそらく他のUnixシステムでもビルドされます。それはサポートします:

  • ポートの列挙(システム上のシリアルポートのリストを取得する)
  • ポートのオープン、クローズ、クエリ
  • ポートパラメータ(ボーレート、パリティなど)の設定
  • ポートシグナリング操作(モデム制御ライン、ブレークなど)
  • データの読み取り、書き込み、およびフラッシュ
  • イベントを待っています
  • エラー情報の取得

最初の0.1.0リリースは、シリアルハードウェアをサポートするために Sigrok プロジェクトで積極的に使用されており、すでにいくつかのLinuxディストリビューションにパッケージ化されています。 gitバージョンには、USBシリアルアダプター(VID/PIDなど)に関する情報を取得するための新しいAPI呼び出しも含まれています。

35
Martin L

これは恥知らずなプラグですが、Windows、Linux、OSXに移植可能なRS-232通信用のMITライセンスライブラリがあります。

http://wjwwood.io/serial/

7
wjwwood

C++ではなくCと言ったと思いますが、おそらく Boost Asioのシリアルポート を使用して、Cアプリケーションにリンクするライブラリにコンパイルすることができます。 POSIX互換であると主張しており、OSXはPOSIXです。

7
Mark Rushakoff

私はMITライセンス: https://github.com/Marzac/rs232

Cでプログラムされており、Windows、Mac、Linuxでうまく機能します。

5
Frédéric

AMSerialPort、goSerial、serialconnect、PolKitなどの行に沿って追加のOS X固有のObjective-Cコードを取得し、Cソースファイルの条件付きコンパイルを実装します。

http://osx.hyperjeff.net/Apps/apps?f=serial

3
trivvo

OS Xは、_<termios.h>_および_<unistd.h>_の標準POSIXシリアルAPIをサポートしています。関数tcsetattr()cfsetspeed()などを検索します。

3
caf