विषयसूची:
वीडियो: CloudX के साथ सीरियल डिबगिंग: 3 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
इस परियोजना में, मेरा लक्ष्य सीरियल टर्मिनल के माध्यम से डिबगिंग की अवधारणा की व्याख्या करना है। लेकिन एक शुरुआत के रूप में सबसे पहले, इसके अर्थ के माध्यम से इसकी अवधारणा को समझाते हैं।
1. धारावाहिक संचार
धारावाहिक संचार CloudX बोर्ड और कंप्यूटर या अन्य उपकरणों के बीच संचार के लिए है। सभी CloudX बोर्डों में कम से कम एक देखा हुआ सीरियल पोर्ट होता है (जिसे UART या USART भी कहा जाता है): सीरियल। यह डिजिटल आरएक्स और TX पिन पर अन्य हार्डवेयर या सीरियल संचार मॉड्यूल (जैसे जीएसएम और जीपीएस) के साथ संचार करता है जैसे कि सॉफ्टकार्ड का उपयोग करके यूएसबी के माध्यम से कंप्यूटर के साथ। इस प्रकार, यदि आप इन कार्यों का उपयोग करते हैं, तो आप डिजिटल इनपुट या आउटपुट के लिए TX और RX का भी उपयोग नहीं कर सकते हैं। CloudX बोर्ड के साथ संचार करने के लिए आप CloudX परिवेश के अंतर्निर्मित सीरियल मॉनीटर का उपयोग कर सकते हैं। टूलबार में सीरियल मॉनिटर बटन पर क्लिक करें और उसी बॉड दर का चयन करें जिसका उपयोग सीरियलबीगिन () नामक पैरामीटर में किया गया है।
2. डिबग
डिबगिंग का सीधा सा मतलब है (कंप्यूटर हार्डवेयर या सॉफ्टवेयर) से त्रुटियों को पहचानना और हटाना। डिबगिंग में कंप्यूटर प्रोग्राम में कोड त्रुटियों का पता लगाना और उन्हें ठीक करना शामिल है। डिबगिंग सॉफ्टवेयर परीक्षण प्रक्रिया का हिस्सा है और संपूर्ण सॉफ्टवेयर विकास जीवनचक्र का एक अभिन्न अंग है। उदाहरण के लिए मान लें कि आपका कोड सफलतापूर्वक संकलित हो गया है और आप अपने हार्डवेयर का परीक्षण कर रहे हैं और यह अपेक्षित रूप से काम नहीं कर रहा है, हालांकि आपके कोड को डीबग करने के कई तरीके हैं; इसे डिबग करने का एक सरल और प्रभावी तरीका सीरियल डिबगिंग के उपयोग के माध्यम से है। CloudX IDE सफल संकलन, HEX और COFF फ़ाइल पर 2 प्रकार की फ़ाइल बनाता है। एचईएक्स फ़ाइल सख्ती से मशीन कोड है जो वास्तविक दुनिया में निष्पादन के लिए बोर्ड में बूटलोड किया जाता है, लेकिन आपके पीसी सिमुलेशन सॉफ्टवेयर जैसे प्रोटियस आईसिस पर भी चल सकता है, जबकि सीओएफएफ फाइल आपके पीसी सिमुलेशन सॉफ्टवेयर्स (प्रोटियस आईसिस) पर एक पठनीय प्रारूप निष्पादन योग्य है।. इस दायरे के लिए हम सीरियल प्रोटोकॉल पर दो बुनियादी प्रकार के डिबगिंग पर विचार करेंगे,
1. सॉफ्ट सीरियल डिबगिंग:
इस तरीके में प्रोटियस आईएसआईएस जैसे कुछ उपयोगी सॉफ्टवेयर के जरिए पीसी पर हर टेस्ट और डिबगिंग की जाती है। चूंकि क्लाउडएक्स मूल रूप से सीओएफएफ फ़ाइल उत्पन्न करता है, इसलिए मैं पीसी सिमुलेशन के लिए इसका उपयोग करने की सलाह देता हूं क्योंकि इसके साथ आप मूल रूप से कोड की पंक्तियों के बीच कदम उठा सकते हैं और यह पता लगा सकते हैं कि कोई समस्या कहां से आ रही है, और यदि आपका कोड बिना कदम के चलना चाहिए, तो "वर्चुअल" से वर्चुअल टेम्पल का उपयोग करना इंस्ट्रूमेंट मोड" टूल, आप हमेशा जान सकते हैं कि किसी भी समय कंट्रोलर कौन सी लाइन चल रही है। आइए इस कोड उदाहरण पर एक नज़र डालें,
चरण 1:
/*
* फ़ाइल: newmain.c
*लेखक: ओगबॉय गॉडविन* *28 जून 2018, सुबह 10:15 बजे बनाया गया */
#शामिल
#शामिल
/* हम बना लेंगे
लाल पिन1 हरा पिन2 पीला पिन3 * बटन पिन4 */ चार *बताएं = "हम्म, मैं स्पर्श कर चुका हूं"; सेटअप () {पिनमोड (1, OUTPUT); पिनमोड (2, आउटपुट); पिनमोड (3, आउटपुट); पिनमोड (4, इनपुट); सीरियल_बेगिन (9600); लूप () {जबकि (! रीडपिन (4)); सीरियल_राइटटेक्स्ट (बताएं); Serial_writeText ("… लाल रंग में जा रहा है"); सीरियल_राइट (0x0D); पोर्टवाइट (1, 0x00); पिनसेलेक्ट (1, हाई); विलंब (200); // सभी देरी को हटाने की कोशिश करें और देखें कि क्या होता है // फिर उन्हें बदलें (आप निश्चित रूप से पसंद करेंगे!) जबकि (! रीडपिन (4)); सीरियल_राइटटेक्स्ट (बताएं); Serial_writeText ("… हरे रंग में जा रहा है"); सीरियल_राइट (0x0D); पोर्टवाइट (1, 0x00); पिनसेलेक्ट (2, हाई); विलंब (200); // सभी देरी को हटाने की कोशिश करें और देखें कि क्या होता है // फिर उन्हें बदलें (आप निश्चित रूप से पसंद करेंगे!)
जबकि (! रीडपिन (4));
सीरियल_राइटटेक्स्ट (बताएं); Serial_writeText ("… पीले रंग में जा रहा है"); सीरियल_राइट (0x0D); पोर्टवाइट (1, 0x00); पिनसेलेक्ट (3, हाई); विलंब (200); // सभी देरी को हटाने की कोशिश करें और देखें कि क्या होता है // फिर उन्हें बदलें (आप निश्चित रूप से पसंद करेंगे!) } }
इसके साथ आप देख सकते हैं कि यदि आप देरी को हटाते हैं तो सीरियल डिबगिंग कैसे महत्वपूर्ण है। यदि आपने ऐसा किया है तो आपने देखा होगा कि सरल कोड कितना परेशानी का कारण बन सकता है यदि इसे वास्तविक दुनिया में बिना देरी के निष्पादित किया जाता है।
चरण 2:
2. हार्डवेयर डिबगिंग:
इस पद्धति में, प्रत्येक परीक्षण और डिबगिंग को सॉफ्टकार्ड का उपयोग करके क्लाउडएक्स प्रोटोटाइप बोर्ड को पीसी से जोड़कर किया जाता है और क्लाउडएक्स आईडीई के सीरियल टर्मिनल (अनुशंसित) या कुछ अन्य उपयोगी सॉफ़्टवेयर जैसे प्रोटियस आईएसआईएस कंपिम, रीयलटर्म इत्यादि का उपयोग करके सीओएफएफ उत्पन्न करें। फ़ाइल का उपयोग यहां नहीं किया जा सकता है क्योंकि यह विधि हार्डवेयर में HEX को बूट करने की मांग करती है, मैं इसे CloudX सॉफ्टकार्ड के लिए उपयोग करने की सलाह देता हूं। ध्यान दें कि आपका कोड बिना कदम उठाए चलता है ताकि आप हमेशा जान सकें कि सीरियल आउटपुट द्वारा किसी भी समय नियंत्रक कौन सी लाइन चल रही है। आइए इस कोड को ऊपर सूचीबद्ध समान उदाहरण पर एक नज़र डालें, अपने हार्डवेयर को माइन रेड एलईडी के समान होने के लिए सेट करें --------- से पिन1 ग्रीन एलईडी --------- पिन 2 पीली एलईडी - -------- पिन3 बटन --------- पिन4
चरण 3:
कदम
1. ऊपर के समान कोड का प्रयोग करें
2. अपने बोर्ड में बूटलोड करें
3. टूल बार में "सीरियल" बटन पर क्लिक करके CloudX सीरियल टर्मिनल शुरू करें
4. वांछित पोर्ट और बॉड दर चुनें (इस ट्यूटोरियल में 9600)
5. कनेक्ट पर क्लिक करके टर्मिनल शुरू करें (यदि आप छोड़ना चाहते हैं तो डिस्कनेक्ट करें)
6. पोर्ट के खुले/जुड़े होने के साथ, बटन को अपनी इच्छा के अनुसार पल-पल पुश करें और आप टर्मिनल विंडो पर सीरियल आउटपुट देखेंगे। ध्यान दें कि यदि आपके पास कोड से देरी है, तो आप बटन से अपना हाथ हटाने से पहले सीरियल आउटपुट की कई लाइनें बिना नियंत्रण के इतनी तेजी से चलेंगे। यदि आपके कोड में किसी भी कारण से, आपको ऐसी या समान समस्या है, तो आप डीबग करने के लिए हमेशा इस विधि का उपयोग कर सकते हैं।
सिफारिश की:
Arduino Uno के साथ ध्वनिक उत्तोलन चरण-दर-चरण (8-चरण): 8 चरण
Arduino Uno के साथ ध्वनिक उत्तोलन चरण-दर-चरण (8-चरण): अल्ट्रासोनिक ध्वनि ट्रांसड्यूसर L298N डीसी महिला एडाप्टर बिजली की आपूर्ति एक पुरुष डीसी पिन के साथ Arduino UNOBreadboardयह कैसे काम करता है: सबसे पहले, आप Arduino Uno पर कोड अपलोड करते हैं (यह डिजिटल से लैस एक माइक्रोकंट्रोलर है और कोड (C++) कन्वर्ट करने के लिए एनालॉग पोर्ट
स्टैंडअलोन Arduino 3.3V W/बाहरी 8 MHz घड़ी को Arduino Uno से ICSP/ISP के माध्यम से प्रोग्राम किया जा रहा है (सीरियल मॉनिटरिंग के साथ!): 4 चरण
स्टैंडअलोन Arduino 3.3V W/बाहरी 8 MHz घड़ी को Arduino Uno से ICSP/ISP (सीरियल मॉनिटरिंग के साथ!) के माध्यम से प्रोग्राम किया जा रहा है: उद्देश्य: एक स्टैंडअलोन Arduino का निर्माण करना जो 8 MHz बाहरी घड़ी से 3.3V पर चलता है। इसे एक Arduino Uno (5V पर चल रहे) से ISP (ICSP, इन-सर्किट सीरियल प्रोग्रामिंग के रूप में भी जाना जाता है) के माध्यम से प्रोग्राम करने के लिए बूटलोडर फ़ाइल को संपादित करने और वें को जलाने के लिए
टिंकरर्कड में Arduino सीरियल मॉनिटर: 7 चरण (चित्रों के साथ)
Tinkercad में Arduino सीरियल मॉनिटर: अपने कार्यक्रम में चल रही हर चीज पर नज़र रखना एक कठिन लड़ाई हो सकती है। सीरियल मॉनिटर यूएसबी केबल पर कंप्यूटर को वापस रिपोर्ट करके आपके कोड में क्या हो रहा है, यह सुनने का एक तरीका है। टिंकरर्कड सर्किट सिम्युलेटर में, सीरियल
एवीआर माइक्रोकंट्रोलर। एक पुश बटन स्विच का उपयोग करके एलईडी को टॉगल करें। पुश बटन डिबगिंग।: 4 कदम
एवीआर माइक्रोकंट्रोलर। एक पुश बटन स्विच का उपयोग करके एलईडी को टॉगल करें। पुश बटन डिबाउंसिंग: इस खंड में, हम सीखेंगे कि एक बटन स्विच से इनपुट के अनुसार तीन एलईडी की स्थिति को टॉगल करने के लिए ATMega328PU के लिए प्रोग्राम C कोड कैसे बनाया जाए। साथ ही, हमने 'स्विच बाउंस' की समस्या का समाधान खोजा है। आमतौर पर, हम
बेसिक जावा डिबगिंग: 9 चरण
बेसिक जावा डिबगिंग: यह निर्देश गाइड जावा त्रुटि प्रबंधन के लिए एक बुनियादी कदम दर कदम जांच को शामिल करता है। यह मार्गदर्शिका जावा प्रोग्रामिंग सॉफ़्टवेयर स्थापित करने में कोई सहायता प्रदान नहीं करती है और उम्मीद करती है कि आपने इस कार्य को समय से पहले ही पूरा कर लिया है। सर्वोत्तम के लिए