2010-06-04 14 views

risposta

25

Si potrebbe pensare che una croce la libreria C per piattaforme seriali è qualcosa che sarebbe esistita già da 20 anni, ma dal 2013 non ce n'era ancora, quindi ho creato libserialport.

È testato su Windows, Mac OS X, Linux (incluso Android), BSD e probabilmente si baserà anche su altri sistemi Unix. Supporta:

  • Port censimento (ottenendo una lista di porte seriali del sistema)
  • apertura, chiusura e query porti
  • Impostazione parametri di porta (velocità di trasmissione, parità, ecc)
  • Port operazioni (linee di controllo del modem, rotture, ecc)
  • lettura, scrittura e dati di lavaggio
  • attesa di eventi
  • errore informatio Ottenere segnalazione n

La versione 0.1.0 iniziale è in uso dal progetto Sigrok per il supporto dell'hardware seriale ed è già presente in diverse distribuzioni Linux. La versione git include anche nuove chiamate API per ottenere informazioni sugli adattatori seriali USB (VID/PID, ecc.).

+3

Grande eccezione per la licenza gnu – jjxtra

+0

La licenza è LGPL.Abbiamo preso questa decisione in modo specifico così da poter essere utilizzata anche in progetti closed source. –

5

Mi rendo conto che hai detto C e non C++, ma forse potresti usare Boost Asio's serial ports e compilarlo in una libreria per essere collegato alla tua applicazione C. Sostiene di essere compatibile POSIX e OS   X è POSIX.

+0

Grazie per il suggerimento. – Hamza

3

Ottieni un ulteriore codice OS   X specifico per C lungo le linee di AMSerialPort, goSerial, serialconnect, PolKit, ... e implementa una compilazione condizionale del tuo file sorgente C.

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

+0

Grazie per il suggerimento, ma mi piacerebbe tenerlo solo C. – Hamza

2

OS X supporta le API di serie standard POSIX, da <termios.h> e <unistd.h>. Cercare le funzioni tcsetattr(), cfsetspeed() e così via.

6

Questa è una spina spudorato, ma ho una libreria con licenza MIT per RS ​​232-comunicazione che è portabile su Windows e Linux e OS   X qui:

http://wjwwood.io/serial/

2

ho rilasciato mina sotto la licenza MIT: https://github.com/Marzac/rs232

Si è programmato in C e funziona bene per Windows, Mac e Linux.

+0

Davvero bello e pulito. –

Problemi correlati