2010-06-04 15 views
14

मैं सी में सीरियल पोर्ट के साथ काम करने के लिए ओपन सोर्स क्रॉस-प्लेटफार्म लाइब्रेरी की तलाश में हूं, भयानक PySerial लाइब्रेरी की लाइनों के साथ कुछ (दुर्भाग्य से मुझे इस एप्लिकेशन के लिए सी का उपयोग करना है)।सी: क्रॉस-प्लेटफार्म आरएस -232 धारावाहिक पुस्तकालय?

मुझे केवल यह पता चला है: http://www.teuniz.net/RS-232/, और ऐसा लगता है कि ओएस   एक्स संगतता का उल्लेख नहीं किया गया है।

उत्तर

25

आपको लगता है कि एक क्रॉस सीरियल पोर्ट्स के लिए प्लेटफार्म सी लाइब्रेरी कुछ ऐसा है जो पहले से ही 20 साल तक अस्तित्व में थी, लेकिन 2013 तक अभी भी कोई नहीं था, इसलिए मैंने libserialport बनाया।

यह विंडोज, मैक ओएस एक्स, लिनक्स (एंड्रॉइड समेत), बीएसडी पर परीक्षण किया गया है और शायद अन्य यूनिक्स सिस्टम पर भी निर्माण करेगा। यह समर्थन करता है:

  • पोर्ट गणन
  • उद्घाटन, समापन (सिस्टम पर सीरियल पोर्ट की एक सूची प्राप्त करने) और क्वेरी करने बंदरगाहों
  • बंदरगाह पैरामीटर सेट (बॉड दर, समता, आदि)
  • पोर्ट परिचालन (मॉडेम नियंत्रण लाइनों, टूट जाता है, आदि)
  • पढ़ना, लिखना, और फ्लशिंग डेटा
  • घटनाओं
  • त्रुटि informatio प्राप्त करने के लिए प्रतीक्षा कर संकेत एन

प्रारंभिक 0.1.0 रिलीज Sigrok प्रोजेक्ट द्वारा सीरियल हार्डवेयर का समर्थन करने के लिए सक्रिय उपयोग में है और पहले से ही कई लिनक्स वितरण में पैक किया गया है। गिट संस्करण में यूएसबी सीरियल एडाप्टर (वीआईडी ​​/ पीआईडी ​​इत्यादि) के बारे में जानकारी प्राप्त करने के लिए नई एपीआई कॉल भी शामिल हैं।

+3

ग्रू लाइसेंस – jjxtra

+0

के अलावा महान लाइसेंस एलजीपीएल है।हमने उस निर्णय को विशेष रूप से लिया ताकि इसे बंद स्रोत परियोजनाओं में भी इस्तेमाल किया जा सके। –

5

मुझे एहसास है कि आपने सी और सी ++ नहीं कहा है, लेकिन शायद आप Boost Asio's serial ports का उपयोग कर सकते हैं और इसे अपने सी एप्लिकेशन से लिंक करने के लिए लाइब्रेरी में संकलित कर सकते हैं। यह POSIX संगत होने का दावा करता है, और ओएस   एक्स पॉज़िक्स है।

+0

सुझाव के लिए धन्यवाद। – Hamza

3

AMSerialPort, goSerial, serialconnect, PolKit, ... के साथ कुछ अतिरिक्त ओएस   एक्स-विशिष्ट उद्देश्य-सी कोड प्राप्त करें और अपनी सी स्रोत फ़ाइल के सशर्त संकलन को लागू करें।

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

+0

सुझाव के लिए धन्यवाद, लेकिन मैं इसे केवल सी रखना चाहता हूं। – Hamza

2

ओएस एक्स <termios.h> और <unistd.h> से मानक POSIX धारावाहिक एपीआई, का समर्थन करता है। tcsetattr(), cfsetspeed() और इसी तरह के कार्यों को देखें।

6

यह एक बेशर्म प्लग है, लेकिन मैं 232 रुपये संचार के लिए एक एमआईटी लाइसेंस प्राप्त पुस्तकालय जो विंडोज और लिनक्स ओएस   एक्स यहाँ करने के लिए पोर्टेबल है:

http://wjwwood.io/serial/

2

मैं MIT लाइसेंस के तहत जारी की खान: https://github.com/Marzac/rs232

यह सी में प्रोग्राम और के लिए विंडोज, मैक और लिनक्स में अच्छी तरह से काम करता है।

+0

वास्तव में अच्छा और साफ है। –

संबंधित मुद्दे