Frage

Ich suche eine plattformübergreifende Open-Source-Bibliothek für die Arbeit mit dem seriellen Anschluss in C, etwas im Rahmen der Awesome Pyserial Bibliothek (leider muss ich C für diese Anwendung verwenden).

Ich habe das nur gefunden: http://www.teuniz.net/rs-232/, Und das scheint OS X -Kompatibilität nicht erwähnt zu haben.

War es hilfreich?

Lösung

Sie würden denken, dass eine plattformübergreifende C-Bibliothek für serielle Ports etwas ist, das bereits seit 20 Jahren existiert hätte, aber ab 2013 gab es immer noch eines, also habe ich geschaffen libserialport.

Es wird unter Windows, Mac OS X, Linux (einschließlich Android), BSD getestet und wird wahrscheinlich auch auf anderen UNIX -Systemen aufbauen. Es unterstützt:

  • Portumzählung (Erhalten einer Liste serieller Anschlüsse am System)
  • Anschlüsse öffnen, schließen und abfragen
  • Festlegen von Portparametern (Baudrate, Parität usw.)
  • Portsignalvorgänge (Modemsteuerungslinien, Pausen usw.)
  • Daten lesen, schreiben und spülen Daten
  • Warten auf Ereignisse
  • Fehlerinformationen erhalten

Die anfängliche Veröffentlichung von 0,1.0 wird von der aktiv verwendet Sigrok Projekt zur Unterstützung serieller Hardware und ist bereits in mehreren Linux -Verteilungen verpackt. Die GIT -Version enthält auch neue API -Forderungen zum Erhalten von Informationen über USB -Serienadapter (VID/PID usw.).

Andere Tipps

Mir ist klar, dass Sie C und nicht C ++ gesagt haben, aber vielleicht könnten Sie verwenden Steigern Sie die seriellen Ports von Asio und kompilieren Sie das in eine Bibliothek, die mit Ihrer C -Anwendung verknüpft ist. Es behauptet, posix -kompatibel zu sein, und OS X ist posix.

Dies ist ein schamloser Stecker, aber ich habe eine MIT-lizenzierte Bibliothek für RS-232-Kommunikation, die hier auf Windows und Linux und OS X tragbar ist:

http://wjwwood.io/serial/

Ich habe meine unter der MIT -Lizenz veröffentlicht: https://github.com/marzac/rs232

Es ist in C programmiert und eignet sich gut für Windows, Mac und Linux.

OS X unterstützt die serielle API von Standard -POSIX -API von <termios.h> und <unistd.h>. Sehen Sie die Funktionen nach tcsetattr(), cfsetspeed() usw.

Erhalten Sie einen zusätzlichen OS X-spezifischen Objektiv-C-Code in den Zeilen von Amserialport, Goserial, Serialconnect, Polkit, ... und implementieren Sie eine bedingte Kompilierung Ihrer C-Quelldatei.

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top