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