यह उत्तर 4 मूल विकल्पों को सूचीबद्ध करता है:
HardwareSerial
, सदा सर्वश्रेष्ठ। बस पूर्व-परिभाषित Serial
चर का उपयोग करें । कुछ Arduinos पर, वहाँ अतिरिक्त HardwareSerial बंदरगाहों, कहा जाता है Serial1
, Serial2
, आदि नैनो केवल Serial
।
AltSoftSerial
सॉफ्टवेयर धारावाहिक पुस्तकालयों का सबसे अच्छा। केवल एक उदाहरण की अनुमति है, और इसका उपयोग इनपुट कैप्चर पिंस (नैनो के लिए 8 और 9 पिन) में से किसी एक पर किया जाना चाहिए।
मेरा NeoSWSerial
अगला सबसे अच्छा है। यह किसी भी दो पिनों पर काम करता है, लेकिन केवल बॉड दरों 9600, 19200 और 38400 पर।
SoftwareSerial
सबसे बुरा विकल्प है। यह किसी भी दो पिनों पर काम करता है, लेकिन यह बहुत अक्षम है। यह पूरे समय के लिए बाधित करता है कि एक चरित्र को भेजा जा रहा है या प्राप्त किया जा रहा है , और यह दोनों एक ही समय (अन्य सभी सीरियल विकल्पों के विपरीत) नहीं कर सकता है। यह आपके स्केच के अन्य भागों, अन्य डिवाइस संचार या पुस्तकालयों के साथ हस्तक्षेप कर सकता है।
यदि आप धीमी बॉड दर का उपयोग कर सकते हैं, तो आप अपने डिबग प्रिंट को चालू रख सकते हैं Serial
, और अपने डिवाइस के लिए AltSoftSerial
या तो उपयोग कर NeoSWSerial
सकते हैं।
लेकिन अगर आपको 115200 का उपयोग करना है, तो एकमात्र विश्वसनीय विकल्प है Serial
। यद्यपि AltSoftSerial
और SoftwareSerial
उस बॉड दर की अनुमति देते हैं, वे डेटा को सही ढंग से भेज / प्राप्त नहीं कर सकते हैं।
उस स्थिति में, मैं Serial
115200 डिवाइस के लिए उपयोग करने का सुझाव दूंगा। जब तक आप आईएसपी का उपयोग नहीं कर रहे हैं, आपको यूएसबी पर एक नया स्केच अपलोड करने के लिए डिवाइस को डिस्कनेक्ट करना होगा।
तो उपयोग करें AltSoftSerial
या NeoSWSerial
अपने डीबग कथनों के लिए। पीसी से कनेक्ट करने के लिए आपको चयनित पिनों पर एक टीटीएल सीरियल-टू-यूएसबी एडाप्टर (उर्फ एफटीडीआई) की आवश्यकता होगी। Serial Monitor
या अन्य टर्मिनल एमुलेटर प्रोग्राम कि USB COM पोर्ट से पढ़ा जाएगा।
key=getKey();
अपना जीएसएम जोड़ता हूं (पिन 2 और 3 Arduino Uno का उपयोग करके) एसएमएस प्राप्त नहीं करता है। कृपया मेरी मदद करें।