C: Кроссплатформенная последовательная библиотека RS-232? [закрыто

StackOverflow https://stackoverflow.com/questions/2973402

Вопрос

Я ищу кроссплатформенную библиотеку с открытым исходным кодом для работы с последовательным портом в C, что-то вроде Awesome Писсериальный Библиотека (к сожалению, я должен использовать C для этого приложения).

Я только нашел это: http://www.teuniz.net/rs-232/, и это, похоже, не упоминает совместимость OS X.

Это было полезно?

Решение

Вы могли бы подумать, что кроссплатформенная библиотека C для последовательных портов-это то, что существовало бы уже в течение 20 лет, но с 2013 года все еще не было, поэтому я создал Libserialport.

Он тестируется в Windows, Mac OS X, Linux (включая Android), BSD и, вероятно, будет построить также на других системах UNIX. Он поддерживает:

  • Перечисление порта (получение списка последовательных портов в системе)
  • Открытие, закрытие и запросы портов
  • Установка параметров порта (скорость передачи, паритет и т. Д.)
  • Операции передачи сигналов порта (линии управления модемом, разрывы и т. Д.)
  • Чтение, написание и промывание данных
  • В ожидании событий
  • Получение информации об ошибке

Начальный выпуск 0,1,0 активно используется Сигрок Проект для поддержки последовательного оборудования и уже упакован в несколько распределений Linux. Версия GIT также включает новые вызовы API для получения информации о серийных адаптерах USB (VID/PID и т. Д.).

Другие советы

Я понимаю, что вы сказали C, а не C ++, но, возможно, вы могли бы использовать Boost Asio's Serial Ports и составьте это в библиотеку, которая будет связана с вашим приложением C. Он утверждает, что является Posix совместимы, а OS X - POSIX.

Это бесстыдный штекер, но у меня есть лицензированная библиотека MIT для связи RS-232, которая портативна для Windows и Linux и OS X здесь:

http://wjwwood.io/serial/

Я выпустил свою по лицензии MIT: https://github.com/marzac/rs232

Он запрограммирован в C и хорошо работает для Windows, Mac и Linux.

OS X поддерживает стандартный серийный API POSIX, от <termios.h> а также <unistd.h>. Анкет Посмотрите функции tcsetattr(), cfsetspeed() и так далее.

Получите дополнительный OS X-специфический код Objective-C в соответствии с линиями Amserialport, Goserial, SerialConnect, Polkit, ... и реализуйте условное компиляцию вашего исходного файла C.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top