हम एक एम्बेडेड डिवाइस USB के माध्यम से पीसी से कनेक्ट करता है, और यह कई आभासी सीरियल पोर्ट (सीडीसी-ACM) है।यूएसबी संचार उपकरण, सभी प्लेटफार्मों पर काम कर
हम विंडोज पर यह काम कर रहे है। एम्बेडेड डिवाइस पर, हमारे पास एकाधिक सीडीसी-एसीएम इंटरफेस हैं। यूएसबी डिस्क्रिप्टर इसे एक समग्र डिवाइस (कक्षा = 0xEF, उप-वर्ग = 2, प्रोटोकॉल = 1) के रूप में घोषित करते हैं, और इसमें प्रत्येक वर्चुअल सीरियल पोर्ट के लिए "इंटरफेस एसोसिएशन डिस्क्रिप्टर" है। विंडोज़ पर, हम एक आईएनएफ फ़ाइल का उपयोग करते हैं जो प्रत्येक सीडीसी-एसीएम नियंत्रण इंटरफ़ेस (MI_00, MI_02, आदि) के लिए usbser.sys इंस्टॉल करता है।
लेकिन, जैसा कि हमने पाया है, इस विधि मैक के लिए काम करने के लिए प्रतीत नहीं होता। मैंने पाया है कि मैं इसे "संचार" वर्ग (वर्ग = 2, उप-वर्ग = 0, प्रोटोकॉल = 0) में बदलकर, और आईएडी को हटाकर मैक और लिनक्स के लिए काम करने के लिए प्राप्त कर सकता हूं। (लिनक्स के लिए, Ubuntu के साथ परीक्षण, मैंने पाया कि इस उबंटू लिनक्स कर्नेल 2.6.35-28 या नए के साथ काम किया। पहले कर्नेल के साथ, केवल पहले सीरियल पोर्ट काम किया।) लेकिन फिर भी, इस विधि विंडोज के लिए काम नहीं करता।
क्या विधि एकाधिक आभासी सीरियल पोर्ट के साथ एक USB डिवाइस, उस पर विंडोज, मैक और लिनक्स काम करता है बनाने के लिए इस्तेमाल किया जा सकता? मुझे लगता है कि मैं एक समाधान पसंद करूंगा जो जितना संभव हो सके सीडीसी-एसीएम मानक का उपयोग करता है, और जितना संभव हो सके लिखने-अपने-अपने-ड्राइवर विकल्प से बचाता है।
"बॉक्स के बाहर" विकल्प के लिए धन्यवाद। यह एम्बेडेड डिवाइस पर एक बड़ा कार्यान्वयन बोझ है, लेकिन निश्चित रूप से पीसी पर आसानी से काम करेगा। –