Question

Je cherche une bibliothèque open source multi-plateforme pour travailler avec le port série en C, quelque chose le long des lignes de l'impressionnant pyserial bibliothèque (malheureusement je dois utiliser C pour cette application).

Je n'ai trouvé celui-ci: http://www.teuniz.net/RS-232/ , et qui ne semble pas avoir la compatibilité OS X mention.

Était-ce utile?

La solution

On pourrait penser qu'une bibliothèque multi-plateforme C pour les ports série est quelque chose qui aurait existé depuis 20 ans déjà, mais à partir de 2013 il n'y avait pas encore, donc je créé libserialport .

Il est testé sur Windows, Mac OS X, Linux (y compris Android), BSD et probablement construire sur d'autres systèmes Unix aussi. Il prend en charge:

  • Port énumération (obtention d'une liste de ports série sur le système)
  • ouverture, la fermeture et l'interrogation des ports
  • Réglage des paramètres du port (vitesse de transmission, parité, etc.)
  • Les opérations portuaires (lignes de contrôle du modem, les pauses, etc.)
  • Lecture, écriture, et des données de rinçage
  • En attente d'événements
  • Obtenir des informations d'erreur

La version 0.1.0 initiale est en utilisation active par le projet sigrok pour supporter le matériel de série et est emballé dans plusieurs distributions Linux déjà. La version git inclut également de nouveaux appels API pour obtenir des informations sur les adaptateurs USB série (VID / PID, etc.).

Autres conseils

Je me rends compte que vous avez dit C et non C ++, mais vous pourriez peut-être utiliser Boost ports série de Asio et compilent que dans une bibliothèque être liée à votre application C. Il prétend être compatible POSIX et OS X est POSIX.

Ceci est une prise sans vergogne, mais j'ai une bibliothèque sous licence MIT pour la communication RS-232 qui est portable sur Windows et Linux et OS X ici:

http://wjwwood.io/serial/

Je le mien sous licence MIT: https://github.com/Marzac/rs232

Il est programmé en C et fonctionne bien pour Windows, Mac et Linux.

OS X prend en charge l'API POSIX série standard, à partir de <termios.h> et <unistd.h>. Recherchez les fonctions tcsetattr(), cfsetspeed() et ainsi de suite.

Obtenir certains OS X code spécifique C-objectif supplémentaire le long des lignes de AMSerialPort, goSerial, serialconnect, polkit, ... et mettre en œuvre une compilation conditionnelle de votre fichier source C.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top