EZ GUI के लिए FDI डेमो

टिप्पणीट्यूटोरियल 2 और 3 की प्रक्रिया समान है, लेकिन वे अलग-अलग संचार पोर्ट का उपयोग करते हैं।
सारांश
ट्यूटोरियल 1 इस बात पर केंद्रित था कि प्रोजेक्ट क्रिएटर का उपयोग करके µEZ GUI डिवाइस पर डेमो प्रोजेक्ट कैसे चलाया जाए। अब जब एक कार्यशील प्रोजेक्ट है और इसे डिवाइस पर फ्लैश किया जा सकता है और चलाया जा सकता है, तो इसमें कुछ बाहरी कार्यक्षमता जोड़ी जा सकती है। इस ट्यूटोरियल में आप सीरियल कम्युनिकेशन पोर्ट (USB पोर्ट नहीं) के माध्यम से µEZ GUI डिवाइस से बात करने जा रहे हैं। यह प्रदर्शित करेगा कि अधिक हार्डवेयर का उपयोग करने के लिए प्रोजेक्ट में कोड कैसे जोड़ा जाए और साथ ही µEZ GUI डिवाइस से सीरियल कम्युनिकेशन कैसे शुरू किया जाए।
पार्ट्स
- हार्डवेयर को इकट्ठा करें और प्रोजेक्ट डेमो खोलें
- प्रोजेक्ट सेटअप करें Fileसीरियल कम्युनिकेशन के लिए
- सीरियल संचार के लिए µEZ लाइब्रेरी कॉल जोड़ें
- टर्मिनल सीरियल कनेक्शन के साथ प्रोग्राम चलाएं
आवश्यकताएं
हार्डवेयर
- μEZGUI-4088-43WQN
- सेगर जे-लिंक लाइट मॉड्यूल
- यूएसबी से सीरियल टीटीएल केबल
- 2x USB A से USB मिनी केबल
सॉफ़्टवेयर
- IAR एंबेडेड वर्कबेंच
- पुट्टी
- μEZ GUI प्रोजेक्ट क्रिएटर (पहले प्रयुक्त)
- μEZ GUI ऑनलाइन लाइब्रेरी
हार्डवेयर को इकट्ठा करें और प्रोजेक्ट डेमो खोलें
स्टेप 1:
आवश्यक हार्डवेयर एकत्रित करें.
USB से 3.3v TTL सीरियल केबल प्राप्त करें।
सबसे पहले हार्डवेयर को एक साथ रखें। इस ट्यूटोरियल में डिवाइस के साथ संचार बोर्ड पर वैकल्पिक COMM पोर्ट का उपयोग करेगा। ऐसा करने के लिए एक विशेष USB से TTL सीरियल केबल की आवश्यकता होती है जिसमें सिग्नल को परिवर्तित करने के लिए एक आंतरिक एडाप्टर होता है। नीचे इस ट्यूटोरियल के लिए आवश्यक केबल की एक तस्वीर दी गई है:
चित्र 1: आवश्यक हार्डवेयर

अधिकांश केबल एडाप्टर 6 पिन के साथ आते हैं, लेकिन केवल 3 की आवश्यकता होती है। μEZ GUI के किनारे पर वैकल्पिक COMM पोर्ट एक हिरोसे DF13 कनेक्टर का उपयोग करता है।
चित्र 2: USB से TTL UART कनेक्टर

स्टेप 2:
USB Rx को μEZ GUI TX (पीला पिन 1 से) से कनेक्ट करें।
USB Tx को μEZ GUI Rx (नारंगी रंग से पिन 6) से कनेक्ट करें।
ग्राउंड को ग्राउंड से जोड़ें (काले को पिन 4 या 5 से)।
USB Rx को µEZ GUI TX (पीला रंग पिन 1 से), USB Tx को µEZ GUI Rx (नारंगी रंग पिन 6 से) और ग्राउंड को ग्राउंड (काला रंग पिन 4 या 5 से) से कनेक्ट करें। µEZ GUI के पीछे पिन 1 को एक त्रिकोणीय तीर द्वारा चिह्नित किया गया है। ये चित्र आपकी दृश्य सहायता के लिए शामिल किए गए हैं:

चित्रों में, µEZ GUI बोर्ड पर पुरुष हिरोसे DF13 कनेक्टर के लिए उपयुक्त महिला पूरक का उपयोग किया गया है। हालाँकि, आपको इस कनेक्टर का उपयोग करने की आवश्यकता नहीं है, और यदि आप आश्वस्त हैं, तो बोर्ड से कनेक्शन को व्यक्तिगत रूप से पिन आउट कर सकते हैं।

स्टेप 3:
IAR एम्बेडेड वर्कबेंच खोलें.
ट्यूटोरियल 1 से डेमो प्रोजेक्ट खोलें।
एक बार जब µEZ GUI वैकल्पिक COMM पोर्ट और USB से सीरियल केबल के माध्यम से कंप्यूटर से जुड़ जाता है, तो कोड जोड़ने का समय आ जाता है। अब IAR एम्बेडेड वर्कबेंच पर जाएं और ट्यूटोरियल 1 में बनाए गए डेमो प्रोजेक्ट को खोलें। इसमें सीरियल संचार कार्यक्षमता के लिए कोड जोड़ा जाएगा और यह बैकग्राउंड में अपने आप चलेगा।
प्रोजेक्ट सेटअप करें Fileसीरियल कम्युनिकेशन के लिए
µEZ GUI पर सीरियल संचार की कार्यक्षमता को प्रदर्शित करने के लिए एक सरल इको परीक्षण बनाया जाएगा। आप कंप्यूटर पर टर्मिनल विंडो के माध्यम से डिवाइस पर एक अक्षर लिखने जा रहे हैं और µEZ GUI को उसी विंडो में उस अक्षर को वापस लिखने के लिए कहेंगे।
स्टेप 4:
- हेडर बनाएं file जिसका नाम serialecho है।
- स्रोत बनाएं file जिसका नाम serialecho है।
- इन्हें जोड़ें files को डेमो प्रोजेक्ट में जोड़ें।
सबसे पहले, एक हेडर और एक स्रोत बनाएं file प्रोजेक्ट में जो सीरियल संचार चलाने के लिए कोड रखेगा। प्रोजेक्ट में जाएँ और दो नए बनाएँ files को नाम दें serialecho.h और serialecho.c. अभी उनमें कुछ भी न डालें, बस उन्हें प्रोजेक्ट के सोर्स फ़ोल्डर में सेव करें। अब जोड़ें fileवास्तविक परियोजना के लिए। Fileवर्कस्पेस संवाद की विंडो में, विंडो में कहीं भी राइट-क्लिक करें और जोड़ें पर क्लिक करें Files… प्रोजेक्ट के स्रोत फ़ोल्डर पर जाएँ जहाँ fileसहेजे गए सभी को जोड़ने के लिए उनमें से प्रत्येक पर क्लिक करें। अब fileपरियोजना का हिस्सा हैं।

फ़ंक्शन को चलाने में सक्षम होने के लिए अधिक सेटअप की आवश्यकता है। µEZ GUI कार्यों को एक दूसरे के समानांतर चलाकर फ़ंक्शन को शेड्यूल करता है। संचार के लिए, फ़ंक्शन को चलाने के लिए एक कार्य सेटअप करें ताकि यह हमेशा पृष्ठभूमि में चल सके।
स्टेप 5:
- #include uEZ.h और uEZStream.h
- “StartSerialEcho” के लिए फ़ंक्शन प्रोटोटाइप बनाएँ
टिप्पणीपैरामीटर्स का उपयोग फ़ंक्शन में नहीं किया जाएगा, लेकिन उन्हें कार्य के रूप में उचित रूप से कॉल करने के लिए दिखाए गए अनुसार शामिल किया जाना चाहिए।
स्टेप 6:
- #शामिल serialecho.h
- फ़ंक्शन के अंदर while(1) लूप डालें.
इसके बाद .c सेटअप करें file. serialecho.h शामिल करें file सबसे ऊपर। अब फ़ंक्शन परिभाषा के लिए एक स्थान बनाएँ। अंदर while(1) लूप डालें ताकि कार्य लगातार चलता रहे और बाहर न निकले, जिससे संचार समाप्त हो जाएगा।
स्टेप 7:
main.c में MainTask पर जाएँ
StartSerialEcho के लिए UEZTaskCreate फ़ंक्शन कॉल डालें।
डिवाइस चालू होने पर कार्य शुरू किया जाना चाहिए ताकि यह पृष्ठभूमि में चल सके। ऐसा करने के लिए, main.c में थोड़ा सा कोड जोड़ें file. यह सूची में शामिल है file बाईं ओर विंडो। इसे खोलें और MainTask नामक फ़ंक्शन पर जाएँ। यह वह फ़ंक्शन है जो डिवाइस के कार्यों और पावर ऑन होने पर फ़ंक्शन सेट करता है। पहले printf स्टेटमेंट के ठीक नीचे कोड की यह लाइन डालें:
टिप्पणीपैरामीटर मानों के बारे में चिंता न करें। उन्हें केवल उन्नत कार्यों के लिए समायोजित करने की आवश्यकता है जिन्हें बाद में कवर किया जाएगा।
इस तरह से µEZ में एक स्वतंत्र कार्य बनाया जाता है। थ्रेड की तरह ही, यह पहले बनाए गए StartSerialEcho फ़ंक्शन का उपयोग करके कार्य बनाएगा और कार्य को कॉल करेगा
“इको”। serialecho.h को शामिल करना याद रखें file main.c में। प्रोग्राम अब संकलित और चलाने में सक्षम होना चाहिए। हालाँकि इसे देखा नहीं जा सकता है, लेकिन अभी बनाया गया कार्य अब पृष्ठभूमि में चल रहा होगा जब µEZ डिवाइस चालू और लोड किया जाएगा।
सीरियल संचार के लिए µEZ लाइब्रेरी कॉल जोड़ें
अब, कार्य को कार्य करने के लिए फ़ंक्शन का कोड जोड़ें। ऐसा करने के लिए आपको µEZ लाइब्रेरी से कुछ फ़ंक्शन कॉल को समझना और उनका उपयोग करना होगा। वे कार्य के लिए आवश्यक कार्यक्षमता प्रदान करने के लिए पहले से ही सेटअप हैं। सुविधाजनक रूप से, FDI पर एक Doxygen सिस्टम है webसाइट जिसमें सभी अलग-अलग µEZ लाइब्रेरी फ़ंक्शन की रूपरेखा है। यह यहाँ स्थित है। जब आप पेज पर हों तो सबसे ऊपर मॉड्यूल टैब पर जाएँ और µEZStream पर जाएँ। अब आप इस पेज पर होंगे:

ये वे फ़ंक्शन हैं जिनका उपयोग हम µEZ GUI डिवाइस के साथ सीरियल संचार बनाने के लिए करने जा रहे हैं।
स्टेप 8:
चरों को परिभाषित करें
UEZStream खोलें
सबसे पहले जो चीज़ ज़रूरी है, वह है ऐसे वेरिएबल को परिभाषित करना जो इसे संभव बनाने के लिए ज़रूरी हैं। ज़रूरी पहला वेरिएबल डिवाइस को ही परिभाषित करता है। फ़ंक्शन में while loop के ऊपर “T_uEZDevice uart3;” रखें। इसके बाद, कैरेक्टर को प्राप्त करने और वापस भेजने के लिए एक कैरेक्टर बफ़र की ज़रूरत होती है। अगली लाइन पर बफ़र के लिए “TUInt8 receivedCOM[2];” रखें। इनपुट कैरेक्टर के लिए सिर्फ़ एक इंडेक्स की ज़रूरत होती है। अब, “uEZStreamOpen(“UART3”, &uart3);” लाइन का इस्तेमाल करके संचार स्ट्रीम खोलें। अब फ़ंक्शन इस तरह दिखना चाहिए:

एक बात जो आसानी से नज़रअंदाज़ हो जाती है वह यह है कि UART3 पहले से ही UART0 की तरह आरंभीकृत नहीं है, इसलिए इसे आरंभीकृत करने के लिए कोड की एक पंक्ति अवश्य जोड़नी होगी। uEZStreamOpen फ़ंक्शन कॉल के ऊपर, यह पंक्ति जोड़ें:
![]()
इससे डिवाइस का UART3 पोर्ट प्रारंभ हो जाएगा और वह चलना शुरू हो जाएगा।
स्टेप 9:
- स्ट्रीम बफर को फ्लश करें.
- पढ़ने का आदेश बनाएं.
- लिखने का आदेश बनाएं.
अब, while लूप में जाएँ और वास्तविक सेंड और रिसीव फंक्शनलिटी जोड़ें। हर सीरियल लूप की शुरुआत में सबसे पहले जो काम करना होता है, वह है स्ट्रीम को फ्लश करना ताकि कम्युनिकेशन बफर में फेंकने के लिए कुछ भी बचा न रहे। while लूप के अंदर पहली लाइन के रूप में “µEZStreamFlush(uart3);” लाइन डालें। अब, रिसीव और सेंड फंक्शन शामिल करें जिन्हें UEZStreamRead और UEZStreamWrite कहा जाता है।
रीड फ़ंक्शन को ठीक उसी प्रकार कॉपी करें जैसा कि फ़ंक्शन के अगले भाग में दिखाया गया है:

ध्यान दें कि दोनों के लिए तर्क और पैरामीटर समान हैं। पैरामीटर µEZ GUI को एक अक्षर सुनने के लिए कहते हैं जब तक कि वह प्राप्त न हो जाए और फिर उसे रिसीवकॉम बफर में डाल दें। फिर यह बफर से एक अक्षर (बफर का आकार) वापस टर्मिनल विंडो में लिख देगा।
स्टेप 10:
- while(1) लूप को बंद करें.
- अंत में return 0 डालें.
अब, while लूप को बंद करें और अंत में return 0 डालें। यह कभी नहीं पहुंचेगा, लेकिन क्योंकि यह एक वैल्यू रिटर्निंग फ़ंक्शन है जिसे टास्क के रूप में बुलाया जा सकता है, रिटर्न करने के लिए कुछ सेट करना होगा।
सब कुछ हो जाने के बाद फ़ंक्शन इस तरह दिखना चाहिए:

टिप्पणीयह कोड का एक साधारण संस्करण है जिसमें त्रुटि जाँच शामिल नहीं है।
इस कोड के इस संस्करण में कोई भी फ़ॉर्मेटिंग या त्रुटि जाँच शामिल नहीं है जो वास्तविक कार्यान्वयन में अत्यंत महत्वपूर्ण होगी।ampस्वरूपण या त्रुटि जाँच को कैसे लागू किया जाए, इस पर जानकारी µEZ लाइब्रेरीज़ में ऑनलाइन पाई जा सकती है और पहले से ही बनाए गए समावेशी डेमो प्रोजेक्ट में, जिसमें अधिक विस्तृत विवरण है।ampइस कोड का भाग। इस बिंदु पर आपको यह सुनिश्चित करना चाहिए कि प्रोजेक्ट संकलित हो और सामने आने वाली किसी भी त्रुटि को ठीक करें।
स्टेप 11:
- परियोजना संकलित करें.
- किसी भी संकलन त्रुटि को ठीक करें.
टर्मिनल सीरियल कनेक्शन के साथ प्रोग्राम चलाएं
स्टेप 12:
- PuTTY डाउनलोड करें.
- PuTTY चलाएँ और सीरियल के लिए कॉन्फ़िगर करें।
- टर्मिनल विंडो खोलें.
प्रोग्राम अब चलने के लिए तैयार है, लेकिन सीरियल संचार के साथ उपयोग करने के लिए एक इंटरफ़ेस सेटअप करने की आवश्यकता है। सीरियल कंसोल कार्यक्षमता वाला एक उपयोग में आसान और मुफ़्त प्रोग्राम व्यापक रूप से इस्तेमाल किया जाने वाला PuTTY है। इसे यहाँ से डाउनलोड किया जा सकता है।
एक बार डाउनलोड हो जाने पर, exe चलाएँ file और प्रारंभिक कॉन्फ़िगरेशन स्क्रीन को इस प्रकार बदलें:

COM नंबर को आपके कंप्यूटर पर सीरियल केबल से जुड़े किसी भी COM पोर्ट पर सेट किया जाना चाहिए (डिवाइस मैनेजर में पाया जाता है) और जरूरी नहीं कि यह COM4 हो। इसके बाद, कनेक्शन->सीरियल पर जाएं और सुनिश्चित करें कि सब कुछ निम्नानुसार मेल खाता है:

अब, ओपन पर क्लिक करें और एक कंसोल विंडो दिखाई देगी। यदि प्रोग्राम अपलोड हो चुका है और कंप्यूटर पर चल रहा है, तो आप टर्मिनल विंडो में अक्षर टाइप कर पाएंगे और उन्हें डिवाइस से वापस टाइप करवा पाएंगे।

बधाई हो! अब आपने UART3 के साथ µEZ GUI डिवाइस पर सीरियल संचार सफलतापूर्वक लागू कर लिया है। अब आप उपलब्ध वैकल्पिक TTL सीरियल संचार पोर्ट के माध्यम से µEZ GUI डिवाइस से संचार कर सकते हैं। यह बाद में कमांड जारी करने और कोड डीबग करने में बहुत उपयोगी हो सकता है। इस ट्यूटोरियल में सीखे गए चरणों के साथ आप आने वाले ट्यूटोरियल में अधिक आसानी से अधिक डिवाइस कार्यक्षमता जोड़ पाएंगे। कृपया उदाहरण के लिए हमारे डाउनलोड करने योग्य समावेशी डेमो प्रोजेक्ट का संदर्भ लेंampइस कार्य और अन्य से संबंधित अधिक गहराई से कोडिंग की सामग्री।
आनंद लेना!
दस्तावेज़ / संसाधन
![]() |
EZ GUI के लिए FDI डेमो [पीडीएफ] मालिक नियमावली FDI_AN_uEZ_003, ईज़ी जीयूआई के लिए डेमो, ईज़ी जीयूआई, जीयूआई, डेमो |

