2011-06-20 11 views
7


मैंने पहली बार सीरियल पोर्ट (COM4) से कनेक्ट करने के लिए javax.comm का उपयोग करने का प्रयास किया। यह धारावाहिक बंदरगाह भी नहीं खोलता था।सीरियलपोर्ट लिखने और विंडोज़ पर पढ़ने के लिए

फिर मैंने कनेक्ट करने के लिए rxtx पुस्तकालय (rxtx-2.2pre2) का उपयोग करने का प्रयास किया। यह डेटा को जोड़ता है और लिखता है लेकिन धारावाहिक बंदरगाह से कोई भी डेटा नहीं पढ़ता है।

क्या javax.comm या rxtx पुस्तकालयों का उपयोग करने के लिए कोई जेडीके/प्लेटफार्म निर्भरता है?

मैं उपयोग कर रहा हूँ:
Windows XP SP3,
JDK 1.6.0_22,
rxtx-2.2pre2,
सीरियल एडाप्टर के लिए यूएसबी,
Portmon (माइक्रोसॉफ्ट द्वारा) - धारावाहिक पर गतिविधि की निगरानी करने बंदरगाह
हाइपरटेरमिनल - यह जांचने के लिए कि COM पोर्ट वास्तव में काम करता है या नहीं।
http://goo.gl/mNLNE - नमूना कोड को पढ़ने के लिए जाँच करें और लिखना

कृपया मुझे पता है अगर तुम मेरे जैसे किसी भी इसी तरह के मुद्दों का अनुभव किया है यह बताने के लिए इस्तेमाल किया।

किसी भी मदद की सराहना की जाती है!

धन्यवाद, जम्मू

+0

यहां एक ही समस्या है। मैंने purejavacomm के साथ भी कोशिश की। मैं एक बक्षीस शुरू करने की कोशिश करूंगा। – HRJ

उत्तर

1

कुछ खुदाई के बाद, मैं इस अपने आप को हल करने के लिए, स्पष्ट रूप से प्रवाह नियंत्रण मोड सेट करके सक्षम था। यहां तक ​​कि यदि आपको प्रवाह नियंत्रण की आवश्यकता नहीं है, तो इसे स्पष्ट रूप से FLOWCONTROL_NONE पर सेट करने में सहायता मिलती है।

लिनक्स पर एक ही कॉल की आवश्यकता नहीं थी।

यदि आप हार्डवेयर पर प्रवाह नियंत्रण सेट कर रहे हैं, तो मुझे लगता है कि इस मोड में अधिसूचनाएं प्राप्त करने के लिए स्पष्ट रूप से आरटीएस सेट करना भी आवश्यक है। (प्रमाणित नहीं है)।

1

मैंने इस कोड को आजमाया और सफल रहा। आप आप के साथ तीन फ़ाइलों की आवश्यकता है:

comm.jar 
javax.comm.properties 
win32com.dll 

और आप विशिष्ट निर्देशिका में इन फ़ाइलों को रखना होगा: http://www.sparetimelabs.com/purejavacomm/index.html

यह एक कार्यान्वयन है:

comm.jar 
in /java/jre6/lib/ext , /java/jdk_1.6.0.20/jre6/lib/ext , java/jdk_1.6.0.20/lib 

win32com.dll 
in /java/jre6/bin, /java/jdk_1.6.0.20/bin, /windwos/System32 

javax.comm.properties 
in /java/jdk_1.6.0.20/lib, java/jre/lib , /java/jdk_1.6.0.20/jre/lib 
+0

कृपया अपने उत्तरों को उचित अंग्रेजी में लिखने का प्रयास करें, पाठ की बात न करें। हम एसओ पर गुणवत्ता सामग्री की तलाश में हैं। –

1

मैं purejavacomm बाहर की कोशिश कर की सिफारिश करेंगे javax.comm शुद्ध जावा + जेएनए में लिखा गया है, जिसने मेरे लिए विंडोज और लिनक्स के बीच पोर्टेबिलिटी की समस्या को पूरी तरह से हल किया है। इसे ओएसएक्स या फ्रीबीएसडी पर भी काम करना चाहिए (कोशिश नहीं की गई है), और अन्य ओएस-एसएस को पोर्ट करना आसान होना चाहिए जो जेएनए सोलारिस जैसे समर्थन करता है।

एक और लाभ यह है कि आपको एक डीएलएल स्थापित करने की आवश्यकता नहीं है जैसे आप rxtx के साथ करते हैं, और ऐसा लगता है कि इसमें 100% सीपीयू खाने वाली बग नहीं है जो कभी-कभी विंडोज़ पर rxtx है।

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