HOLTEK HT32 MCU UART ऍप्लिकेशन नोट वापरकर्ता मॅन्युअल
परिचय
युनिव्हर्सल एसिंक्रोनस रिसीव्हर/ट्रान्समीटर - UART हा एक व्यापकपणे वापरला जाणारा सीरियल ट्रान्समिशन इंटरफेस आहे जो लवचिक असिंक्रोनस फुल-डुप्लेक्स डेटा ट्रान्समिशन प्रदान करतो. या ऍप्लिकेशन नोटमध्ये प्रदान केलेला “Module_UART” ऍप्लिकेशन कोड सॉफ्टवेअर रिंग बफरसह TX/RX इंटरप्ट्स वापरतो, ज्याची APIs द्वारे साधी UART ट्रान्समिट/प्राप्त फंक्शन्स लागू करण्यासाठी, ज्यांच्या संबंधित फंक्शन्स खाली वर्णन केल्या आहेत. हे संपूर्ण डेटा ट्रान्समिशन प्रक्रिया सुलभ करेल आणि वापरकर्त्यांना UART कम्युनिकेशन ऍप्लिकेशन्स त्वरीत समजून घेण्यास आणि अंमलबजावणी करण्यास अनुमती देईल.
- फंक्शन्स ट्रान्समिट/प्राप्त करा: बाइट रीड, बाइट राइट, बफर रीड, बफर राइट इ.
- स्थिती कार्ये: बफर लांबी, TX स्थिती इ. मिळवा.
हा दस्तऐवज प्रथम UART कम्युनिकेशन प्रोटोकॉल सादर करेल, जो वापरकर्त्यांना UART संप्रेषण तत्त्वापासून ते अनुप्रयोगापर्यंत अधिक चांगल्या प्रकारे समजून घेण्यास मदत करेल. यानंतर फर्मवेअर लायब्ररी, अॅप्लिकेशन कोड डाउनलोड, यासह अॅप्लिकेशन कोडसाठी आवश्यक संसाधने डाउनलोड आणि तयार केली जातात. file आणि डिरेक्ट्री कॉन्फिगरेशन तसेच अॅप्लिकेशन नोटमध्ये वापरलेल्या टर्मिनल सॉफ्टवेअर टूलचा परिचय. कार्यात्मक वर्णन प्रकरणात, अनुप्रयोग कोड निर्देशिका संरचना, पॅरामीटर सेटिंग्ज आणि API वर्णन सादर केले जाईल. API वापराचे वर्णन “Module_UART” अनुप्रयोग कोड वापरून केले जाईल आणि API साठी आवश्यक फ्लॅश/RAM संसाधन वापर देखील सूचीबद्ध केला जाईल. वापरासाठी सूचना धडा वापरकर्त्याला पर्यावरणीय तयारी, संकलन आणि चाचणीच्या चरणांद्वारे मार्गदर्शन करेल की अनुप्रयोग कोड योग्यरित्या कार्य करेल याची पुष्टी करण्यासाठी. ते नंतर वापरकर्त्याच्या प्रकल्पांमध्ये APIs कसे समाकलित करायचे हे स्पष्ट करणार्या सूचना प्रदान करेल आणि शेवटी सुधारणा आणि समोर येणाऱ्या सामान्य समस्यांसाठी संदर्भ प्रदान करेल.
वापरलेले संक्षेप:
- UART: युनिव्हर्सल असिंक्रोनस रिसीव्हर/ट्रान्समीटर
- API: ऍप्लिकेशन प्रोग्रामिंग इंटरफेस
- LSB: कमीत कमी लक्षणीय बिट
- MSB: सर्वात लक्षणीय बिट
- पीसी: वैयक्तिक संगणक
- एसके: स्टार्टर किट, HT32 विकास मंडळ
- IDE: एकात्मिक विकास पर्यावरण
UART कम्युनिकेशन प्रोटोकॉल
यूएआरटी हा एक सीरियल कम्युनिकेशन प्रकारचा इंटरफेस आहे जो त्याच्या ट्रान्समीटरवर समांतर-टू-सिरियल डेटा रूपांतरण लागू करतो आणि नंतर समान रिसीव्हरसह क्रमाने संप्रेषण करतो. डेटा रिसेप्शन नंतर प्राप्तकर्ता अनुक्रमांक-ते-समांतर डेटा रूपांतरण करतो. आकृती 1 सीरिअल कम्युनिकेशनचा एक योजनाबद्ध आकृती दर्शविते ज्यामध्ये डेटा बिटवाइज क्रमाने कसा हस्तांतरित केला जातो हे दर्शविते. म्हणून ट्रान्समीटर आणि रिसीव्हरमधील द्विदिशात्मक संप्रेषणासाठी, फक्त दोन तारा, TX आणि RX, एकमेकांमध्ये अनुक्रमे डेटा हस्तांतरित करण्यासाठी आवश्यक आहेत. TX ही पिन आहे ज्यावर UART सीरियल डेटा प्रसारित करते आणि रिसीव्हरच्या RX पिनशी जोडलेले असते. म्हणून ट्रान्समीटर आणि रिसीव्हर डिव्हाइसेसमध्ये दर्शविल्याप्रमाणे UART द्वि-मार्गी संप्रेषण करण्यासाठी त्यांच्या TX आणि RX पिनला क्रॉस-कनेक्ट करणे आवश्यक आहे. आकृती 2.
आकृती 1. सीरियल कम्युनिकेशन डायग्राम
आकृती 2. UART सर्किट डायग्राम
UART सीरियल कम्युनिकेशन दरम्यान, डेटा ट्रान्समिशन असिंक्रोनस आहे. याचा अर्थ ट्रान्समीटर आणि रिसीव्हरमध्ये घड्याळ किंवा इतर सिंक्रोनाइझेशन सिग्नल नाही. येथे बॉड रेट वापरला जातो, जो सीरियल डेटा ट्रान्समिटिंग/रिसीव्हिंग स्पीड आहे आणि जो डेटा ट्रान्सफरच्या आधी दोन्ही बाजूंनी सेट केला जातो. याशिवाय, संपूर्ण UART डेटा पॅकेट तयार करण्यासाठी डेटा पॅकेटच्या सुरुवातीस आणि शेवटी स्टार्ट आणि स्टॉप बिट्स सारख्या विशेष बिट्स जोडल्या जातात. आकृती 3 UART डेटा पॅकेट संरचना दर्शविते तर आकृती 4 पॅरिटी बिटशिवाय UART 8-बिट डेटा पॅकेट दर्शविते.
आकृती 3. UART डेटा पॅकेट संरचना
आकृती 4. UART 8-बिट डेटा पॅकेट स्वरूप
UART डेटा पॅकेटचा प्रत्येक भाग खाली क्रमाने सादर केला आहे.
- प्रारंभ बिट: हे डेटा पॅकेटची सुरूवात दर्शवते. ट्रान्समिशन सुरू होण्यापूर्वी UART TX पिन सहसा उच्च तर्क पातळीवर राहते. डेटा ट्रान्समिशन सुरू झाल्यास, UART ट्रान्समीटर TX पिनला उंचावरून खालपर्यंत, म्हणजे 1 ते 0 पर्यंत खेचून घेईल आणि नंतर एका घड्याळाच्या चक्रासाठी तिथे धरून ठेवेल. जेव्हा RX पिनवर उच्च ते निम्न संक्रमण आढळले तेव्हा UART प्राप्तकर्ता डेटा वाचण्यास प्रारंभ करेल.
- डेटा: हा 7, 8 किंवा 9 बिटच्या डेटा लांबीसह हस्तांतरित केलेला वास्तविक डेटा आहे. डेटा सहसा प्रथम LSB सह हस्तांतरित केला जातो.
- पॅरिटी बिट: ट्रान्समिशन दरम्यान कोणताही डेटा बदलला आहे की नाही हे निर्धारित करण्यासाठी डेटामधील लॉजिक "1" ची संख्या वापरली जाते. सम समतेसाठी, डेटामधील तर्क "1" ची एकूण संख्या सम संख्या असावी, याउलट, डेटामधील तर्क "1" ची एकूण संख्या विषम समतेसाठी विषम संख्या असावी.
- थांबा बिट: हे डेटा पॅकेटचा शेवट दर्शविते, जेथे UART ट्रान्समीटर TX पिनला कमी ते उच्च कडे खेचतो, म्हणजे 0 ते 1 पर्यंत, आणि नंतर तो 1 किंवा 2-बिट कालावधीसाठी तिथे धरून ठेवतो.
आधी सांगितल्याप्रमाणे, UART सर्किटमध्ये घड्याळाचा सिग्नल नसल्यामुळे, समान डेटा ट्रान्समिटिंग/रिसीव्हिंग स्पीड, ज्याला बॉड रेट म्हणून ओळखले जाते, त्रुटी-मुक्त ट्रांसमिशन लागू करण्यासाठी ट्रान्समीटर आणि रिसीव्हर दरम्यान परिभाषित करणे आवश्यक आहे. बॉड दर प्रति सेकंद, bps (बिट प्रति सेकंद) मध्ये हस्तांतरित केलेल्या बिट्सच्या संख्येद्वारे परिभाषित केला जातो. काही मानक आणि सामान्यतः वापरले जाणारे बॉड दर 4800bps, 9600bps, 19200bps, 115200bps, इ. एकल डेटा बिट हस्तांतरित करण्यासाठी लागणारा संबंधित वेळ खाली दर्शविला आहे.
तक्ता 1. बॉड रेट वि. 1-बिट ट्रान्समिशन वेळ
बॉड रेट | 1-बिट ट्रान्समिशन वेळ |
4800bps | 208.33µs |
9600bps | 104.16µs |
19200bps | 52.08µs |
115200bps | 8.68µs |
संसाधन डाउनलोड आणि तयारी
हा धडा अॅप्लिकेशन कोड आणि वापरलेले सॉफ्टवेअर टूल, तसेच डिरेक्टरी कॉन्फिगर कशी करायची ते सादर करेल file मार्ग
फर्मवेअर लायब्ररी
प्रथम, ऍप्लिकेशन कोड वापरण्यापूर्वी Holtek HT32 फर्मवेअर लायब्ररी डाउनलोड केली आहे याची खात्री करा. डाउनलोड लिंक खाली दर्शविली आहे. येथे दोन पर्याय आहेत, HT32F0xxxx मालिकेसाठी HT32_M5p_Vyyyymmdd.zip आणि HT32F3xxxx मालिकेसाठी HT32_M1_Vyyyymmdd.zip. डाउनलोड करा आणि इच्छित अनझिप करा file.
जि.प file दस्तऐवज, फर्मवेअर लायब्ररी, टूल्स आणि इतर आयटम असे अनेक फोल्डर्स आहेत, ज्याचा प्लेसमेंट मार्ग आकृती 5 मध्ये दर्शविला आहे. HT32 फर्मवेअर लायब्ररी झिप file a सह file HT32_STD_xxxxx_FWLib_Vm.n.r_s.zip चे नाव Firmware_Library फोल्डर अंतर्गत स्थित आहे.
आकृती 5. HT32_M0p_Vyyyymmdd.zip सामग्री
अर्ज कोड
खालील लिंकवरून अर्ज कोड डाउनलोड करा. ऍप्लिकेशन कोड झिपमध्ये पॅक केला जातो file a सह file HT32_APPFW_xxxxx_APPCODENAME_Vm.n.r_s.zip चे नाव. पहा आकृती 6 साठी file नाव नियमावली.
आकृती 6. अर्ज कोड File नाव परिचय
डाउनलोड लिंक: https://mcu.holtek.com.tw/ht32/app.fw/Module_UART/
File आणि निर्देशिका कॉन्फिगरेशन
अनुप्रयोग कोडमध्ये HT32 फर्मवेअर लायब्ररी नसल्यामुळे files, अनुप्रयोग कोड आणि फर्मवेअर लायब्ररी अनझिप केली fileसंकलन सुरू करण्यापूर्वी s योग्य मार्गावर ठेवावे. अर्ज कोड पिन file आकृती 7 मध्ये दर्शविल्याप्रमाणे सामान्यतः एक किंवा अधिक फोल्डर असतात, जसे की ऍप्लिकेशन आणि लायब्ररी. पूर्ण करण्यासाठी HT32 फर्मवेअर लायब्ररी रूट निर्देशिकेखाली ऍप्लिकेशन फोल्डर ठेवा. file पाथ कॉन्फिगरेशन, आकृती 8 मध्ये दर्शविल्याप्रमाणे. वैकल्पिकरित्या, समान कॉन्फिगरेशन परिणाम प्राप्त करण्यासाठी त्याच मार्गावर ऍप्लिकेशन कोड आणि HT32 फर्मवेअर लायब्ररी एकाच वेळी अनझिप करा.
आकृती 7. HT32_APPFW_xxxxx_APPCODENAME_Vm.n.r_s.zip सामग्री
आकृती 8. डीकंप्रेशन पथ
टर्मिनल सॉफ्टवेअर
फंक्शन सिलेक्शन किंवा स्टेटस डिस्प्ले लागू करण्यासाठी ऍप्लिकेशन कोड COM पोर्टद्वारे संदेश हस्तांतरित करू शकतो. यासाठी यजमान बाजूने टर्मिनल सॉफ्टवेअर आगाऊ स्थापित करणे आवश्यक आहे. वापरकर्ते योग्य कनेक्शन सॉफ्टवेअर निवडू शकतात किंवा तेरा टर्म सारखे विनामूल्य परवानाधारक सॉफ्टवेअर वापरू शकतात. ऍप्लिकेशन कोडमध्ये, UART चॅनेल 8-बिटच्या शब्द लांबीसह कॉन्फिगर केले आहे, समानता नाही, 1 स्टॉप बिट आणि 115200bps च्या बॉड दराने.
कार्यात्मक वर्णन
हा धडा अनुप्रयोग कोडसाठी कार्यात्मक वर्णन प्रदान करेल, निर्देशिकेची रचना, API आर्किटेक्चर, सेटिंग वर्णन इ.
निर्देशिका संरचना
अर्ज कोड file अनुप्रयोग फोल्डर समाविष्टीत आहे. पुढील स्तर आहे “Module_UART” फोल्डर ज्यामध्ये दोन ऍप्लिकेशन प्रोग्राम आहेत, “UART_Module_Example" आणि "UART_Bridge". संबंधित files खाली सूचीबद्ध आणि वर्णन केले आहेत.
तक्ता 2. ऍप्लिकेशन कोड डिरेक्टरी स्ट्रक्चर
फोल्डर / File नाव | वर्णन |
\\application\Module_UART\UART_Module_Example*1 | |
_CreateProject.bat | प्रकल्प तयार करण्यासाठी बॅच स्क्रिप्ट files |
_ProjectSource.ini | आरंभ करणे file प्रकल्पांमध्ये स्त्रोत कोड जोडण्यासाठी |
ht32_board_config.h | सेटअप file IC परिधीय I/O असाइनमेंटशी संबंधित |
ht32fxxxxxx_01_it.c | व्यत्यय सेवा कार्यक्रम file |
main.c | मुख्य प्रोग्राम स्त्रोत कोड |
\\ अनुप्रयोग\Module_UART\UART_Bridge*2 | |
_CreateProject.bat | प्रकल्प तयार करण्यासाठी बॅच स्क्रिप्ट files |
_ProjectSource.ini | आरंभ करणे file प्रकल्पांमध्ये स्त्रोत कोड जोडण्यासाठी |
ht32_board_config.h | सेटअप file IC परिधीय I/O असाइनमेंटशी संबंधित |
ht32fxxxxxx_01_it.c | व्यत्यय सेवा कार्यक्रम file |
main.c | मुख्य प्रोग्रामचा स्त्रोत कोड |
uart_bridge.h uart_bridge.c | UART ब्रिज हेडर file आणि स्त्रोत कोड file |
\\उपयोगिता\मिडलवेअर | |
uart_module.h*3 uart_module.c*3 | API शीर्षलेख file आणि स्त्रोत कोड file |
\\उपयोगिता\सामान्य | |
ringbuffer.h ring_buffer.c | सॉफ्टवेअर रिंग बफर शीर्षलेख file आणि स्त्रोत कोड file |
टीप:
- “UART_Module_Ex. मध्येample" ऍप्लिकेशन कोड, API वाचणे आणि लेखन ऑपरेशन्स लूपबॅक पद्धतीने केले जातात, "एपीआय वापर एक्स" पहाampअधिक तपशीलांसाठी les” विभाग.
- "UART_Bridge" ऍप्लिकेशन कोडमध्ये, दोन UART चॅनेल, UART CH0 आणि UART CH1, सक्रिय केले जातात आणि COMMAND संरचनांद्वारे सानुकूल संप्रेषण प्रोटोकॉल दोन UART उपकरणांमध्ये लागू केले जातात. अधिक माहितीसाठी, “API वापर उदाamples" विभाग.
- अनुप्रयोग कोडसाठी uart_module.c/h वापरणे आवश्यक आहे files ज्यांना फर्मवेअर लायब्ररी आवृत्तीची आवश्यकता आहे. अद्यतनानुसार आवश्यकता वेळोवेळी बदलू शकते. वर्तमान फर्मवेअर लायब्ररी आवृत्ती आवश्यकतेची पुष्टी करण्यासाठी, main.c मध्ये "अवलंबन तपासणी" कीवर्ड शोधून अवलंबित्व तपासणी सामग्रीचा संदर्भ घ्या. file. फर्मवेअर लायब्ररी आवृत्ती आवश्यकता पूर्ण करत नसल्यास, “फर्मवेअर लायब्ररी” विभागात प्रदान केलेल्या दुव्यावरून नवीनतम आवृत्ती डाउनलोड करा.
API आर्किटेक्चर
प्रत्येक API मध्ये एक महत्त्वाचा पॅरामीटर CH असतो, जो UART चॅनेल आहे. हे ठरवते की कोणते UART चॅनेल नियंत्रित करायचे आहे. सध्या चार UART चॅनेल समर्थित आहेत आणि म्हणून चार स्थिर चिन्हे खालीलप्रमाणे परिभाषित केली आहेत. हे एपीआयना नियंत्रणासाठी आधार प्रदान करणारे पॅरामीटर CH म्हणून वापरले जातात.
- UARTM_CH0: इनपुट पॅरामीटर - UART CH0 नियंत्रित किंवा कॉन्फिगर करा
- UARTM_CH1: इनपुट पॅरामीटर - UART CH1 नियंत्रित किंवा कॉन्फिगर करा
- UARTM_CH2: इनपुट पॅरामीटर - UART CH2 नियंत्रित किंवा कॉन्फिगर करा
- UARTM_CH3: इनपुट पॅरामीटर - UART CH3 नियंत्रित किंवा कॉन्फिगर करा
फक्त एक UART चॅनेल वापरल्यास मेमरी स्पेस वाया जाणार नाही. कारण समर्थित UART चॅनेलची संख्या सेट केली जाऊ शकते आणि उपलब्ध मेमरी स्पेस वाढवण्यासाठी न वापरलेले UART चॅनेल कोड प्रीप्रोसेसरद्वारे काढून टाकले जाईल. API आर्किटेक्चर मध्ये दर्शविले आहे आकृती 9.
आकृती 9. API आर्किटेक्चर ब्लॉक आकृती
प्रत्येक API UART चॅनेल-संबंधित सेटिंग्ज किंवा नियंत्रणांच्या चार गटांनी बनलेला असतो जेणेकरून वापरकर्त्यांना फक्त इच्छित CH पॅरामीटर इनपुट करणे आवश्यक आहे. संबंधित API कॉन्फिगर करण्यासाठी, फक्त USART_InitTypeDef, संरचना फॉर्मसह अतिरिक्त UART मूलभूत कॉन्फिगरेशन पॅरामीटर सारणी असणे आवश्यक आहे. API टेबलमधील पॅरामीटर सामग्रीनुसार UART मूलभूत कॉन्फिगरेशन लागू करेल. UART मूलभूत कॉन्फिगरेशन स्ट्रक्चर टेबलसाठी “API वर्णन” विभागाचा संदर्भ घ्या.
uart_module.c/.h files मध्ये फक्त प्रत्येक UART चॅनेलचे इंटरप्ट (CHx_IRQ) आणि स्टेटस टेबल (CHx स्टेटस) असते तर UART कम्युनिकेशनसाठी आवश्यक असलेल्या सर्व सेटिंग्ज ht32_board_config.h द्वारे प्रदान केल्या जातात. ht32_board_config.h मधील हार्डवेअर संबंधित पॅरामीटर्स file खालील तक्त्यामध्ये दर्शविले आहेत. अधिक तपशील "सेटिंग वर्णन" विभागात प्रदान केले आहेत.
ht32_board_config.h मधील हार्डवेअर संबंधित पॅरामीटर्समध्ये खालीलप्रमाणे I/O सेटिंग्ज आणि भौतिक UART पोर्ट सेटिंग्ज समाविष्ट आहेत.
तक्ता 3. ht32_board_config.h मधील व्याख्या चिन्हे
प्रतीक | वर्णन |
HTCFG_UARTM_CH0 | भौतिक UART पोर्ट नाव; उदाample: UART0, UART1… |
HTCFG_UARTM0_TX_GPIO_PORT | CH0 साठी TX चे पोर्ट नाव परिभाषित करते; उदाample: A, B, C… |
HTCFG_UARTM0_TX_GPIO_PIN | CH0 साठी TX चा पिन नंबर परिभाषित करते; उदाample: 0~15 |
HTCFG_UARTM0_RX_GPIO_PORT | CH0 साठी RX चे पोर्ट नाव परिभाषित करते; उदाample: A, B, C… |
HTCFG_UARTM0_RX_GPIO_PIN | CH0 साठी TX चा पिन नंबर परिभाषित करते; उदाample: 0~15 |
HTCFG_UARTM0_TX_BUFFER_SIZE | CH0 साठी TX बफर आकार परिभाषित करते; उदाampले: 128 |
HTCFG_UARTM0_RX_BUFFER_SIZE | CH0 साठी RX बफर आकार परिभाषित करते; उदाampले: 128 |
UART चॅनेल AFIO कॉन्फिगरेशन सुधारण्यासाठी, संबंधित डिव्हाइस डेटाशीटचा संदर्भ घ्या. सध्या फक्त UART CH0 साठी I/O व्याख्या लागू होतात कारण फक्त UART CH0 ht32_board_config.h मध्ये कॉन्फिगर केले गेले आहे. UART CH1~3 जोडण्यासाठी, त्यांची I/O व्याख्या UART CH0 व्याख्येचा संदर्भ घेऊन किंवा "सेटिंग मॉडिफिकेशन आणि FAQs" विभागाचा संदर्भ देऊन पूर्ण करणे आवश्यक आहे.
तीन API आर्किटेक्चरची मुख्य वैशिष्ट्ये आहेत:
- चार UART चॅनेल पर्यंत समर्थित आहेत. त्यांचे इनपुट पॅरामीटर्स UARTM_CH0, UARTM_CH1, UARTM_CH2 आणि UARTM_CH3 आहेत.
- UART चॅनेलची संख्या सेट केली जाऊ शकते आणि न वापरलेले चॅनेल उपलब्ध मेमरी स्पेस कमी करणार नाही.
- सर्व UART सेटिंग्ज आणि I/O व्याख्या पूर्णपणे API पासून विभक्त आहेत. हे मूल्ये सेट करण्याच्या व्यवस्थापनाची सोय वाढवते आणि चुकीची किंवा गहाळ सेटिंग्जची शक्यता कमी करते.
वर्णन सेट करणे
हा विभाग ht32_board_config.h आणि uart_module.h मध्ये पॅरामीटर सेटिंग्ज सादर करेल. files.
- ht32_board_config.h: हे file स्टार्टर किट (SK), संबंधित TX/RX पिन स्थाने आणि TX/RX बफर आकाराद्वारे वापरलेले UART IP चॅनेल (UART0, UART1, USART0…) समाविष्ट असलेल्या पिन व्याख्या आणि विकास बोर्ड संबंधित सेटिंग्जसाठी वापरले जाते. आकृती 10 HT32F52352 स्टार्टर किटची सेटिंग सामग्री दाखवते. विकासाच्या कार्यात्मक एकत्रीकरणावर अवलंबून, वापरकर्ते पिन व्याख्या लागू करण्यासाठी वापरलेल्या डिव्हाइसच्या डेटाशीटच्या "पिन असाइनमेंट" विभागाचा संदर्भ घेऊ शकतात. सेटिंग फेरफारबद्दल अधिक तपशीलांचे वर्णन "सेटिंग बदल आणि FAQs" विभागात केले जाईल.
आकृती 10. ht32_board_config.h सेटिंग्ज (HT32F52352)
- uart_module.h: हे API शीर्षलेख आहे file ऍप्लिकेशन कोडद्वारे वापरला जातो, ज्यामध्ये संबंधित डीफॉल्ट सेटिंग्ज, फंक्शन डेफिनिशन इ. समाविष्ट आहेत. आकृती 11 मध्ये दर्शविल्याप्रमाणे, डीफॉल्ट सेटिंग सामग्री बाह्य कॉन्फिगरेशनद्वारे अधिलिखित केली जाऊ शकते, जसे की ht32_board_config.h मधील सेटिंग्ज file.
आकृती 11. uart_module.h मधील डिफॉल्ट सेटिंग्ज
API वर्णन
- अनुप्रयोग कोड डेटा प्रकार वर्णन.
- USART_InitTypeDef
ही UART मूलभूत कॉन्फिगरेशन रचना आहे जी खाली दर्शविल्याप्रमाणे BaudRate, WordLength, StopBits, पॅरिटी आणि मोड कॉन्फिगरेशनने बनलेली आहे.चल नाव प्रकार वर्णन USART_BaudRate u32 UART संप्रेषण बॉड दर USART_WordLength u16 UART संप्रेषण शब्द लांबी: 7, 8 किंवा 9 बिट USART_StopBits u16 UART कम्युनिकेशन स्टॉप बिट लांबी: 1 किंवा 2 बिट USART_Parity u16 UART कम्युनिकेशन पॅरिटी: सम, विषम, चिन्ह, जागा किंवा समानता नाही USART_Mode u16 UART संप्रेषण मोड; API फक्त सामान्य मोडला समर्थन देतात
- USART_InitTypeDef
- API फंक्शन्स वापरण्यापूर्वी, मुख्य प्रोग्राममध्ये UART मूलभूत कॉन्फिगरेशन पूर्ण करा. या ऍप्लिकेशन कोडसाठी UART मूलभूत कॉन्फिगरेशन आकृती 12 मध्ये दर्शविले आहे. येथे बॉड दर 115200bps आहे, शब्दाची लांबी 8-बिट आहे, स्टॉप बिटची लांबी 1-बिट आहे आणि कोणतीही समानता नाही.
आकृती 12. UART मूलभूत कॉन्फिगरेशन
- आकृती 13 uart_module.h मध्ये घोषित API फंक्शन्स दाखवते file. खालील तक्त्या API फंक्शन्सचे फंक्शन, इनपुट पॅरामीटर्स आणि वापर स्पष्ट करतात.
आकृती 13. uart_module.h मधील API कार्य घोषणा
नाव | शून्य UARTM_Init(u32 CH, USART_InitTypeDef *pUART_Init, u32 uRxTimeOutValue) | |
कार्य | UART मॉड्यूल आरंभीकरण | |
इनपुट | CH | UART चॅनेल |
pUART_Init | UART मूलभूत कॉन्फिगरेशन स्ट्रक्चर पॉइंटर | |
uRxTimeOutValue | UART RX FIFO टाइम-आउट मूल्य. जेव्हा RX FIFO ला नवीन डेटा प्राप्त होतो तेव्हा काउंटर रीसेट होईल आणि रीस्टार्ट होईल. काउंटर प्रीसेट टाइम-आउट व्हॅल्यूपर्यंत पोहोचल्यानंतर आणि संबंधित टाइम-आउट व्यत्यय सक्षम केल्यानंतर, एक टाइम-आउट व्यत्यय व्युत्पन्न केला जाईल. | |
वापर | UARTM_Init(UARTM_CH0, &USART_InitStructure, 40);//UART मूलभूत कॉन्फिगरेशन कार्यान्वित करा//USART_InitStructure कॉन्फिगरेशनसाठी आकृती 12 पहा |
नाव | u32 UARTM_WriteByte(u32 CH, u8 uData) | |
कार्य | UART मॉड्यूल लेखन बाइट ऑपरेशन (TX) | |
इनपुट | CH | UART चॅनेल |
uData | डेटा लिहायचा आहे | |
आउटपुट | यश | यशस्वी |
एरर | अयशस्वी | |
वापर | UARTM_WriteByte(UARTM_CH0, 'A'); //UART 1 बाइट लिहितो - 'A' |
नाव | u32 UARTM_Write(u32 CH, u8 *pBuffer, u32 uLength) | |
कार्य | UART मॉड्यूल लेखन ऑपरेशन (TX) | |
इनपुट | CH | UART चॅनेल |
pBuffer | बफर पॉइंटर | |
uलांबी | लिहिल्या जाणार्या डेटाची लांबी | |
आउटपुट | यश | यशस्वी |
एरर | अयशस्वी | |
वापर | u8 Test[] = “ही चाचणी आहे!\r\n”; UARTM_Write(UARTM_CH0, चाचणी, आकार(चाचणी) -1); //UART pBuffer डेटा लिहितो |
नाव | u32 UARTM_ReadByte(u32 CH, u8 *pData) | |
कार्य | UART मॉड्यूल रीड बाइट ऑपरेशन (RX) | |
इनपुट | CH | UART चॅनेल |
pData | वाचलेला डेटा ठेवण्यासाठी पत्ता | |
आउटपुट | यश | यशस्वी |
एरर | अयशस्वी (डेटा नाही) | |
वापर | u8 टेम्पडेटा; जर (UARTM_ReadByte(UARTM_CH0, &TempData) == SUCCESS){UARTM_WriteByte(UARTM_CH0, TempData);}//जर UARTM_ReadByte() SUCCESS परत करत असेल तर UART हा डेटा बाइट लिहितो |
नाव | u32 UARTM_Read(u32 CH, u8 *pBuffer, u32 uLength) | |
कार्य | UART मॉड्यूल रीड ऑपरेशन (RX) | |
इनपुट | CH | UART चॅनेल |
pBuffer | बफर पॉइंटर | |
uलांबी | वाचण्यासाठी डेटाची लांबी | |
आउटपुट | संख्या वाचा | डेटाची लांबी वाचली गेली आहे |
वापर | u8 Test2[10]; u32 लेन; Len = UARTM_Read(UARTM_CH0, Test2, 5);if (Len > 0){UARTM_Write(UARTM_CH0, Test2, Len);}//UARTM_Read() डेटाचे 5 बाइट वाचते आणि डेटा Test2 मध्ये संग्रहित करते आणि रीड बाइट संख्या नियुक्त करते Len// Test2 मधून प्राप्त केलेला डेटा लिहा |
नाव | u32 UARTM_GetReadBufferLength(u32 CH) | |
कार्य | रीड बफर लांबी (RX) मिळवा | |
इनपुट | CH | UART चॅनेल |
आउटपुट | uलांबी | बफर लांबी वाचा |
वापर | UARTM_Init(UARTM_CH0, &USART_InitStructure, 40); //UART मॉड्यूल आरंभीकरण तर (UARTM_GetReadBufferLength(UARTM_CH0) < 5);//UARTM_ReadBuffer ला 5 बाइट डेटा प्राप्त होईपर्यंत प्रतीक्षा करा |
नाव | u32 UARTM_GetWriteBufferLength(u32 CH) | |
कार्य | लेखन बफर लांबी (TX) मिळवा | |
इनपुट | CH | UART चॅनेल |
आउटपुट | uलांबी | बफर लांबी लिहा |
नाव | u8 UARTM_IsTxFinished(u32 CH) | |
कार्य | TX स्थिती मिळवा | |
इनपुट | CH | UART चॅनेल |
आउटपुट | खरे | TX स्थिती: समाप्त |
असत्य | TX स्थिती: पूर्ण झाले नाही | |
वापर | UARTM_WriteByte(UARTM_CH0, 'O'); #if 1 // “uart_module.c” SVN >= 525 आवश्यक असताना (UARTM_IsTxFinished(UARTM_CH0) == FALSE) #elsewhile (1) #endif // वर दर्शविल्याप्रमाणे, हे API TX स्थिती तपासण्यासाठी वापरले जाऊ शकते; UARTM_WriteByte() API पूर्ण होईपर्यंत प्रतीक्षा करा, म्हणजे, TX स्थिती सत्य आहे, आणि नंतर पुढील क्रिया सुरू ठेवा.//एक निर्बंध जोडले गेले आहे कारण uart_module.c मधील SVN आवृत्ती क्रमांक 525 होईपर्यंत हे कार्य जोडले गेले नाही. |
नाव | शून्य UARTM_DiscardReadBuffer(u32 CH) | |
कार्य | वाचलेल्या बफरमधील डेटा टाकून द्या | |
इनपुट | CH | UART चॅनेल |
API वापर उदाampलेस
हा विभाग API लेखन आणि वाचन दर्शवेलampआरंभ प्रक्रिया आणि "UART_Module_Ex" वापरून "Module_UART" अनुप्रयोग कोडample" अर्ज कोड प्रक्रिया. API वापरण्यापूर्वी, वापरकर्त्यांनी API शीर्षलेख समाविष्ट करणे आवश्यक आहे file मुख्य प्रोग्राम सोर्स कोडमध्ये file (#"midleware/uart_module.h" समाविष्ट करा).
आकृती 14 मध्ये दर्शविल्याप्रमाणे, आरंभ प्रक्रिया प्रविष्ट करताना, प्रथम UART मूलभूत संरचना संरचना परिभाषित करा. नंतर BaudRate, WordLength, StopBits, Parity आणि Mode सह UART मूलभूत कॉन्फिगरेशन संरचना सदस्य कॉन्फिगर करा. शेवटी, एपीआय इनिशिएलायझेशन फंक्शनला कॉल करा, ज्याची पूर्तता सुरुवातीच्या प्रक्रियेची समाप्ती दर्शवते. यानंतर वापरकर्ते प्रीसेट UART बेसिक कॉन्फिगरेशनवर आधारित लेखन आणि वाचन ऑपरेशन्स सुरू ठेवू शकतात.
आकृती 14. इनिशियलाइजेशन फ्लोचार्ट
"UART_Module_Example” ऍप्लिकेशन कोड लूपबॅक पद्धतीने API रीड आणि राइट ऑपरेशन्स दाखवतो. यासाठीचा फ्लोचार्ट आकृती 15 मध्ये दर्शविला आहे. वापरलेल्या API फंक्शन्समध्ये UARTM_WriteByte(), UARTM_Write(), UARTM_ReadByte(), UARTM_Read() आणि UARTM_GetReadBufferLength() यांचा समावेश होतो. त्यांचे वर्णन “API वर्णन” विभागात दिलेले आहे.
आकृती 15. लिहा आणि वाचा उदाampलेस
“Module_UART” फोल्डर अंतर्गत दुसरा “UART_Bridge” अनुप्रयोग कोड आहे ज्याचा संबंधित आहे file वर्णन "डिरेक्टरी स्ट्रक्चर" विभागात सादर केले आहे. "UART_Bridge" अनुप्रयोग कोड दोन UART चॅनेल, UART CH0 आणि UART CH1 सक्रिय करतो आणि नंतर COMMAND संरचना, gCMD1 आणि gCMD2 द्वारे दोन UART उपकरणांमधील संप्रेषण प्रोटोकॉल सानुकूलित करतो. खाली दर्शविल्याप्रमाणे हे uart_bridge.c मध्ये परिभाषित केले आहे. UARTBridge_CMD1TypeDef gCMD1:
चल नाव | प्रकार | वर्णन |
uHeader | u8 | शीर्षलेख |
uCmd | u8 | आज्ञा |
uData[3] | u8 | डेटा |
UARTBridge_CMD2TypeDef gCMD2:
चल नाव | प्रकार | वर्णन |
uHeader | u8 | शीर्षलेख |
uCmdA | u8 | कमांड ए |
uCmdB | u8 | कमांड बी |
uData[3] | u8 | डेटा |
"UART_Bridge" अनुप्रयोग कोडमध्ये, कमांड पॅकेट म्हणून डेटा प्राप्त करण्यासाठी gCMD1 वापरा आणि नंतर त्याचे विश्लेषण करा. मग सानुकूलित संप्रेषण प्रोटोकॉलनुसार, प्रतिसाद पॅकेट म्हणून gCMD2 सेट करा आणि ते प्रसारित करा. खालील एक माजी आहेampकमांड पॅकेट gCMD1) आणि प्रतिसाद पॅकेट (gCMD2) चे le. कमांड पॅकेट (UARTBridge_CMD1TypeDef gCMD1):
बाइट १ | बाइट १ | बाइट 2 ~ बाइट 4 |
uHeader | uCmd | uData [३] |
"अ" | "००" | "x, y, z" |
प्रतिसाद पॅकेट (UARTBridge_CMD2TypeDef gCMD2):
बाइट १ | बाइट १ | बाइट १ | बाइट 3 ~ बाइट 5 |
uHeader | uCmdA | uCmdB | uData [३] |
"ब" | "अ" | "००" | "x, y, z" |
संसाधन व्यवसाय
HT32F52352 माजी म्हणून घेत आहेample, UART मॉड्यूलने व्यापलेली संसाधने खाली दर्शविली आहेत.
HT32F52352 | |
रॉम आकार | 946 बाइट्स |
रॅम आकार | 40*1 + ६.०*2 बाइट्स |
टीप:
- एकाच चॅनेलसाठी फ्लॅग आणि स्टेटससह ग्लोबल व्हेरिएबल्स 40 बाइट्स RAM व्यापतात.
- हे अशा स्थितीसाठी आहे जेथे एकच चॅनेल वापरले जाते आणि TX/RX बफर आकार 128/128 बाइट्स आहे. अनुप्रयोग आवश्यकतांनुसार बफर आकार सेट केला जाऊ शकतो.
तक्ता 4. अनुप्रयोग कोड संसाधन व्यवसाय
- संकलन वातावरण: MDK-आर्म V5.36, ARMCC V5.06 अपडेट 7 (बिल्ड 960)
- ऑप्टिमाइझ पर्याय: स्तर 2 (-O2)
वापरासाठी सूचना
हा धडा “Module_UART” ऍप्लिकेशन कोडसाठी पर्यावरणीय तयारी तसेच संकलन आणि चाचणी चरणांचा परिचय देईल.
पर्यावरणीय तयारी
“Module_UART” अनुप्रयोग कोडसाठी आवश्यक हार्डवेअर आणि सॉफ्टवेअर खाली सूचीबद्ध आहेत.
तक्ता 5. हार्डवेअर/सॉफ्टवेअर पर्यावरणीय तयारी
हार्डवेअर/सॉफ्टवेअर | मोजा | नोंद |
स्टार्टर किट | 1 | ही ऍप्लिकेशन नोट HT32F52352 स्टार्टर किटचा वापर करतेample |
यूएसबी केबल | 1 | मायक्रो यूएसबी, पीसीशी कनेक्ट केलेले |
अर्ज कोड | — | डाउनलोड मार्ग, file आणि निर्देशिका कॉन्फिगरेशन "संसाधन डाउनलोड आणि तयारी" विभागात सादर केले आहे. पथ: "\\application\Module_UART\UART_Module_Exampले ” |
तेरा टर्म | — | "टर्मिनल सॉफ्टवेअर" विभागाचा संदर्भ घ्या |
केइल IDE | — | Keil uVision V5.xx |
प्रथम, UART ऍप्लिकेशन परिचयासाठी ई-लिंक32 लाइटच्या व्हर्च्युअल COM पोर्ट (VCP) फंक्शनसह HT52352F32 स्टार्टर किट वापरा. यासाठी खालील पर्यावरणीय तयारीची अंमलबजावणी करणे आवश्यक आहे:
- बोर्डवर दोन यूएसबी इंटरफेस आहेत. आकृती 32-(a) मध्ये दाखवल्याप्रमाणे PC आणि eLink16 Lite इंटरफेस बोर्डवर जोडण्यासाठी USB केबल वापरा.
- ऍप्लिकेशन कोडला e-Link32 Lite Virtual COM Port (VCP) फंक्शन वापरण्याची आवश्यकता असल्याने, UART Jumper-J2*2 चे PAx*1 आणि DAP_Tx जंपर वापरून शॉर्ट केले असल्याची खात्री करा. J2 स्थान आकृती 16-(b) द्वारे सूचित केले आहे.
नोंद
- स्टार्टर किटवरील J2 मध्ये दोन पर्याय आहेत, PAx आणि DAP_Tx शॉर्टेड किंवा PAx आणि RS232_Tx शॉर्टेड. तपशीलवार सेटिंग कार्यांसाठी स्टार्टर किट वापरकर्ता पुस्तिका पहा.
- वेगवेगळ्या स्टार्टर किट्सवरील MCU UART RX पिनचे स्थान वेगळे आहे. या माजीample RX पिन दर्शविण्यासाठी PAx वापरतो.
आकृती 16. HT32 स्टार्टर किट ब्लॉक आकृती
आता UART ऍप्लिकेशन परिचयासाठी e-Link32 Pro च्या व्हर्च्युअल COM पोर्ट (VCP) फंक्शनसह वापरकर्ता लक्ष्य बोर्ड वापरा. यासाठी खालील पर्यावरणीय तयारीची अंमलबजावणी करणे आवश्यक आहे:
- e-Link32 Pro ची एक बाजू मिनी USB केबल वापरून पीसीशी जोडलेली असते आणि दुसरी बाजू वापरकर्त्याच्या लक्ष्य बोर्डशी त्याच्या 10-बिट ग्रे केबलद्वारे जोडलेली असते. आकृती 17-(a) मध्ये दर्शविल्याप्रमाणे, केबल आणि लक्ष्य बोर्डच्या SWD इंटरफेसमधील कनेक्शन ड्युपॉन्ट लाइन्स वापरून लागू केले जाते.
- e-Link32 Pro चे सिरियल कम्युनिकेशन पिन पिन#7 VCOM_RXD आणि पिन#8- VCOM_TXD आहेत. आकृती 17-(b) मध्ये दाखवल्याप्रमाणे हे वापरकर्ता लक्ष्य बोर्डच्या TX आणि RX पिनशी जोडलेले असावे.
आकृती 17. e-Link32 Pro + वापरकर्ता लक्ष्य बोर्ड ब्लॉक आकृती
संकलन आणि चाचणी
हा विभाग “application\Module_UART\UART_Module_Ex” घेईलample" माजी म्हणूनampसंकलन आणि चाचणी प्रक्रिया सादर करण्यासाठी. याआधी, मागील विभागात वर्णन केलेल्या सर्व तयारींची अंमलबजावणी झाली आहे आणि तेरा टर्म टर्मिनल सॉफ्टवेअर डाउनलोड केले आहे याची खात्री करा.
तपशीलवार ऑपरेशन चरण खाली सारांशित केले आहेत.
पायरी 1. पॉवर-ऑन चाचणी
मागील विभागात वर्णन केल्याप्रमाणे हार्डवेअर वातावरण सेट करा. पॉवर-ऑन केल्यानंतर, स्टार्टर किटच्या खालच्या डावीकडील D9 पॉवर LED प्रकाशित होईल. वरच्या उजव्या बाजूला असलेल्या e-Link1 Lite वरील D32 USB LED USB गणना पूर्ण झाल्यानंतर प्रकाशित होईल. दीर्घ कालावधीनंतर D1 प्रकाशित होत नसल्यास, USB केबल संप्रेषण करण्यास सक्षम आहे की नाही याची पुष्टी करा. नसल्यास ते काढून टाका आणि पुन्हा घाला.
पायरी 2. एक प्रकल्प तयार करा
अनुप्रयोग उघडा\Module_UART\UART_Module_Example फोल्डर, _CreateProject.bat वर क्लिक करा file आकृती 18 मध्ये दर्शविल्याप्रमाणे प्रोजेक्ट तयार करण्यासाठी. ही ऍप्लिकेशन नोट HT32F52352 स्टार्टर किट वापरत असल्याने, MDK_ARMv52352 फोल्डरच्या खाली असलेला Keil IDE प्रोजेक्ट “Project_5.uvprojx” उघडा.
आकृती 18. प्रोजेक्ट जनरेट करण्यासाठी _CreateProject.bat कार्यान्वित करा
पायरी 3. संकलित करा आणि प्रोग्राम करा
प्रकल्प उघडल्यानंतर, प्रथम “बिल्ड” वर क्लिक करा (किंवा शॉर्टकट “F7” वापरा), नंतर “डाउनलोड” वर क्लिक करा (किंवा शॉर्टकट “F8” वापरा). यानंतर, बिल्ड आउटपुट विंडोमध्ये बिल्ड आणि डाउनलोड परिणाम प्रदर्शित केले जातील. आकृती 19 पहा.
आकृती 19. परिणाम तयार करा आणि डाउनलोड करा
पायरी 4. तेरा टर्म सॉफ्टवेअर उघडा आणि सीरियल पोर्ट कॉन्फिगर करा
तेरा टर्म सॉफ्टवेअर आणि COM पोर्ट उघडा. स्टार्टर किटद्वारे व्युत्पन्न केलेला COM पोर्ट क्रमांक योग्य आहे की नाही याकडे लक्ष द्या. नंतर कॉन्फिगरेशन इंटरफेस प्रविष्ट करण्यासाठी “सेटअप >> सिरीयल पोर्ट” वर क्लिक करा. "Module_UART" अनुप्रयोग कोडचे UART इंटरफेस कॉन्फिगरेशन "टर्मिनल सॉफ्टवेअर" विभागात वर्णन केले आहे. सेटअप परिणाम आकृती 20 मध्ये दर्शविला आहे.
आकृती 20. तेरा टर्म सीरियल पोर्ट सेटअप परिणाम
पायरी 5. सिस्टम रीसेट करा आणि चाचणी करा
SK रीसेट की दाबा – B1 रीसेट. यानंतर, "एबीसी ही चाचणी आहे!" संदेश असेल
API द्वारे प्रसारित केले जाते आणि आकृती 21 मध्ये दर्शविल्याप्रमाणे तेरा टर्म विंडोमध्ये प्रदर्शित केले जाईल. प्राप्त कार्याबाबत, तेरा टर्म विंडोमध्ये डेटा प्रविष्ट करताना, प्राप्त बफर लांबी निर्धारित करण्यासाठी संबंधित API वापरला जाईल. जेव्हा PC द्वारे प्राप्त केलेला डेटा 5 बाइट्सपर्यंत पोहोचतो, तेव्हा प्राप्त झालेला 5 बाइट डेटा अनुक्रमे पाठविला जाईल. आकृती 22 मध्ये दर्शविल्याप्रमाणे, अनुक्रमे प्रविष्ट केलेला डेटा "1, 2, 3, 4, 5" आहे, जो API द्वारे प्राप्त आणि निर्धारित केला जातो. यानंतर, पाच इनपुट्सनंतर डेटा “1, 2, 3, 4, 5” प्रिंट केला जाईल.
आकृती 21. “मॉड्युल_UART” ऍप्लिकेशन कोड फंक्शनल टेस्ट – ट्रान्समिट
आकृती 22. “मॉड्युल_यूएआरटी” ऍप्लिकेशन कोड फंक्शनल टेस्ट – प्राप्त करा
प्रत्यारोपणाच्या सूचना
हा विभाग वापरकर्त्याच्या प्रकल्पांमध्ये APIs कसे समाकलित करायचे ते सादर करेल.
पायरी 1. uart_module.c जोडा file प्रकल्पात. वापरकर्ता फोल्डरवर उजवे-क्लिक करा. "विद्यमान जोडा" निवडा Files गट 'वापरकर्ता'…”, नंतर uart_module.c निवडा file आणि आकृती 23 मध्ये दाखवल्याप्रमाणे "जोडा" वर क्लिक करा. यासाठी "डिरेक्टरी स्ट्रक्चर" विभाग पहा. file मार्ग वर्णन.
आकृती 23. uart_module.c जोडा File प्रकल्प करण्यासाठी
पायरी 2. ring_buffer.c जोडा file प्रकल्पात. वापरकर्ता फोल्डरवर उजवे-क्लिक करा. "विद्यमान जोडा" निवडा Files गट 'वापरकर्ता'…”, नंतर ring_buffer.c निवडा file आणि आकृती 24 मध्ये दाखवल्याप्रमाणे "जोडा" वर क्लिक करा.\ साठी "डिरेक्टरी स्ट्रक्चर" विभाग पहा. file मार्ग वर्णन.
आकृती 24. ring_buffer.c जोडा File प्रकल्प करण्यासाठी
पायरी 3. API शीर्षलेख समाविष्ट करा file main.c च्या सुरूवातीस, आकृती 25 मध्ये दर्शविल्याप्रमाणे. (ext: #include “middleware/uart_module.h”)
आकृती 25. API हेडर समाविष्ट करा File मुख्य कडे
पायरी 4. Ht32_board_config.h वापरून UART संप्रेषणासाठी आवश्यक सेटिंग्ज लागू करा file. हे "सेटिंग वर्णन" आणि "सेटिंग मॉडिफिकेशन आणि FAQs" विभागांमध्ये तपशीलवार सादर केले आहे.
बदल आणि वारंवार विचारले जाणारे प्रश्न सेट करणे
हा विभाग UART सेटिंग्जमध्ये सुधारणा कशी करायची आणि वापरादरम्यान आलेल्या काही सामान्य प्रश्नांची माहिती देईल.
UART पिन असाइनमेंट बदला
- HT32F52352 डेटाशीट "पिन असाइनमेंट" धड्याचा संदर्भ देत, पर्यायी फंक्शन मॅपिंग टेबल पहा जे डिव्हाइस प्रकारातील AFIO कार्ये सूचीबद्ध करते. UART संबंधित पिनसाठी, आकृती 6 मध्ये दर्शविल्याप्रमाणे, "AF26 USART/UART" स्तंभाचा संदर्भ घ्या.
आकृती 26. HT32F52352 वैकल्पिक कार्य मॅपिंग सारणी
- ही पायरी वापरकर्त्यांना वरील सारणी वापरून संबंधित UART पिन शोधण्यासाठी मार्गदर्शन करेल. HT32F52352 माजीample डीफॉल्ट चॅनेल म्हणून USART1 वापरते. येथे, TX आणि RX पिन USR1_TX आणि USR1_RX आहेत आणि अनुक्रमे PA4 आणि PA5 वर आहेत. आकृती 27 पिन पत्रव्यवहार तसेच "ht32_board_config.h" मधील पिन व्याख्या दर्शवते. पिन असाइनमेंट टेबलमधील “पॅकेज” च्या रिकाम्या फील्डचा अर्थ असा आहे की या पॅकेजमध्ये कोणतेही संबंधित GPIO नाहीत. UART पिन सुधारण्यासाठी, लक्ष्य पिन स्थाने शोधा आणि “ht32_board_config.h” वापरून पिन पुन्हा परिभाषित करा. file.
आकृती 27. पिन पत्रव्यवहार आणि सेटिंग बदल
एक UART चॅनेल जोडा
HT32F52352 HTCFG_UARTM_CH1 माजी म्हणून घेणेample, येथे नवीन UART चॅनेल कसे जोडायचे याचे वर्णन केले आहे.
ht32_board_config.h सुधारित करा file
HT32F52352 डेटाशीट "पिन असाइनमेंट" धड्याचा संदर्भ देत, पर्यायी फंक्शन मॅपिंग टेबल पहा जे डिव्हाइस प्रकारातील AFIO कार्ये सूचीबद्ध करते. USART1 चा वापर HTCFG_UARTM_CH0 म्हणून केला जात असल्याने, नवीन जोडलेले HTCFG_UARTM_CH1 USART0 निवडू शकते. येथे, TX आणि RX पिन अनुक्रमे PA2 आणि PA3 वर स्थित आहेत, आकृती 28 च्या वरच्या अर्ध्यामध्ये दर्शविल्याप्रमाणे. संबंधित सुधारणा ht120_board_config.h मध्ये कोड ओळी 126~32 वापरून अंमलात आणल्या जातात, आकृतीमधील लाल ठिपके असलेल्या बॉक्सने दर्शविल्याप्रमाणे २८.
आकृती 28. एक UART चॅनेल जोडा
वारंवार विचारले जाणारे प्रश्न
Q: संकलन आणि चाचणी विभागाच्या चरण 5 मध्ये, प्रसारित कार्यात्मक चाचणी सामान्य आहे. येथे, "एबीसी ही चाचणी आहे!" संदेश यशस्वीरित्या प्रदर्शित झाला आहे, तथापि प्राप्त कार्यासाठी, पाच इनपुट मूल्ये का परत केली जात नाहीत आणि प्रदर्शित केली जात नाहीत?
A: UART Jumper-J2 चे MCU UART RX आणि DAP_Tx पिन जंपर वापरून लहान केले आहेत का ते तपासा. "Module_UART" ऍप्लिकेशन कोडला e-Link32 Lite चा व्हर्च्युअल COM पोर्ट (VCP) वापरण्याची आवश्यकता असल्याने, आकृती 2 मध्ये दर्शविल्याप्रमाणे, शॉर्ट-सर्किट सेटिंग UART जम्पर-J29 च्या डाव्या दोन पिनवर लागू करणे आवश्यक आहे.
आकृती 29. UART जम्पर-J2 सेटिंग
प्रश्न: नंतर “बिल्ड” (किंवा शॉर्टकट “F7”) कार्यान्वित करताना, फर्मवेअर लायब्ररी आवृत्ती आवश्यक असलेल्या आवृत्तीपेक्षा जुनी असल्याचे दर्शवणारा त्रुटी संदेश येतो? आकृती 30 पहा.
A: “Module_UART” अनुप्रयोग कोडच्या अंमलबजावणीमध्ये uart_module.c/h समाविष्ट करणे आवश्यक आहे files ज्याला विशिष्ट फर्मवेअर लायब्ररी आवृत्तीची आवश्यकता आहे. जेव्हा असा एरर मेसेज दिसतो, तेव्हा याचा अर्थ सध्या वापरलेली फर्मवेअर लायब्ररी जुनी आवृत्ती आहे. म्हणून "फर्मवेअर लायब्ररी" विभागात प्रदान केलेल्या दुव्याद्वारे नवीनतम आवृत्ती डाउनलोड करणे आवश्यक आहे.
आकृती 30. फर्मवेअर लायब्ररी आवृत्ती त्रुटी संदेश
निष्कर्ष
या दस्तऐवजाने वापरकर्त्यांना “Module_UART” ऍप्लिकेशन कोड आणि UART कम्युनिकेशन प्रोटोकॉलची चांगल्या प्रकारे समजून घेण्यात मदत करण्यासाठी मूलभूत परिचय प्रदान केला आहे. हे संसाधन डाउनलोड आणि तयारी नंतर होते. कार्यात्मक वर्णन प्रकरणाने परिचय करून दिला file निर्देशिका संरचना, API आर्किटेक्चर, API वर्णन आणि API वापर उदाampलेस वापरासाठीच्या सूचना धड्याने “Module_UART” ऍप्लिकेशन कोडची पर्यावरणीय तयारी, संकलन आणि चाचणी दाखवली आहे. यात कोड ट्रान्सप्लांट आणि फेरफार सेटिंगसाठी तसेच काही सामान्य समस्या ज्यांना सामोरे जावे लागत आहे ते स्पष्ट करण्यासाठी सूचना देखील दिल्या आहेत. हे सर्व एकत्रित केल्याने वापरकर्त्यांना APIs कसे वापरायचे ते त्वरीत समजून घेता येईल आणि त्यानंतर प्रारंभ करण्यासाठी लागणारा वेळ कमी होईल.
संदर्भ साहित्य
अधिक माहितीसाठी, Holtek पहा webसाइट: www.holtek.com
आवृत्त्या आणि बदल माहिती
तारीख | लेखक | सोडा | सुधारणा माहिती |
2022.04.30 | 蔡期育(ची-यू त्साई) | V1.00 | प्रथम आवृत्ती |
अस्वीकरण
यावर दिसणारी सर्व माहिती, ट्रेडमार्क, लोगो, ग्राफिक्स, व्हिडिओ, ऑडिओ क्लिप, लिंक्स आणि इतर आयटम webसाइट ('माहिती') केवळ संदर्भासाठी आहे आणि कोणत्याही वेळी पूर्वसूचना न देता आणि Holtek Semiconductor Inc. आणि त्याच्या संबंधित कंपन्यांच्या विवेकबुद्धीनुसार बदलू शकते (यापुढे 'Holtek', 'कंपनी', 'आमच्या', ' आम्ही' किंवा 'आमचे'). होल्टेक यावरील माहितीची अचूकता सुनिश्चित करण्याचा प्रयत्न करत असताना webसाइट, माहितीच्या अचूकतेसाठी Holtek द्वारे कोणतीही स्पष्ट किंवा निहित वॉरंटी दिली जात नाही. होल्टेक कोणत्याही चुकीची किंवा गळतीसाठी कोणतीही जबाबदारी घेणार नाही.
हे वापरताना किंवा वापरताना उद्भवलेल्या कोणत्याही हानीसाठी (कॉम्प्युटर व्हायरस, सिस्टम समस्या किंवा डेटा गमावण्यासह परंतु त्यापुरते मर्यादित नाही) होल्टेक जबाबदार राहणार नाही. webकोणत्याही पक्षाची साइट. या क्षेत्रातील दुवे असू शकतात, जे तुम्हाला भेट देण्याची परवानगी देतात webइतर कंपन्यांच्या साइट्स.
या webसाइट्स Holtek द्वारे नियंत्रित नाहीत. अशा साइट्सवर प्रदर्शित होणाऱ्या कोणत्याही माहितीसाठी Holtek कोणतीही जबाबदारी घेणार नाही आणि कोणतीही हमी देणार नाही. इतरांना हायपरलिंक्स webसाइट आपल्या स्वत: च्या जोखमीवर आहेत.
दायित्वाची मर्यादा
कोणत्याही परिस्थितीत होल्टेक लिमिटेड तुमच्या प्रवेशाच्या किंवा वापराच्या संबंधात प्रत्यक्ष किंवा अप्रत्यक्षपणे झालेल्या कोणत्याही नुकसानीसाठी किंवा नुकसानीसाठी इतर कोणत्याही पक्षाला जबाबदार असणार नाही. webसाइट, त्यावरील सामग्री किंवा कोणत्याही वस्तू, साहित्य किंवा सेवा.
नियमन कायदा
अस्वीकरण मध्ये समाविष्ट आहे webसाइट चीन प्रजासत्ताकाच्या कायद्यांनुसार शासित आणि व्याख्या केली जाईल. वापरकर्ते रिपब्लिक ऑफ चायना न्यायालयांच्या गैर-अनन्य अधिकार क्षेत्रास सादर करतील.
डिस्क्लेमरचे अपडेट
Holtek ने पूर्वसूचना देऊन किंवा त्याशिवाय कधीही अस्वीकरण अद्यतनित करण्याचा अधिकार राखून ठेवला आहे, सर्व बदल पोस्ट केल्यावर लगेच प्रभावी होतील. webसाइट
कागदपत्रे / संसाधने
![]() |
HOLTEK HT32 MCU UART ऍप्लिकेशन नोट [pdf] वापरकर्ता मॅन्युअल HT32 MCU, UART ऍप्लिकेशन नोट, HT32 MCU UART, ऍप्लिकेशन नोट, HT32, MCU UART ऍप्लिकेशन नोट, HT32 MCU UART ऍप्लिकेशन नोट |