HOLTEK HT32 MCU UART ايپليڪيشن نوٽ يوزر مينوئل
تعارف
يونيورسل اسينڪرونس وصول ڪندڙ/ٽرانسميٽر - UART هڪ وڏي پيماني تي استعمال ٿيل سيريل ٽرانسميشن انٽرفيس آهي جيڪو لچڪدار اسينڪرونس مڪمل-ڊپلڪس ڊيٽا ٽرانسميشن مهيا ڪري ٿو. "Module_UART" ايپليڪيشن ڪوڊ هن ايپليڪيشن نوٽ ۾ مهيا ڪيل سافٽ ويئر رنگ بفرز سان TX/RX مداخلت استعمال ڪري ٿو سادو UART ٽرانسمٽ/وصول افعال APIs ذريعي عمل ڪرڻ لاءِ، جن جا لاڳاپيل ڪم هيٺ بيان ڪيا ويا آهن. اهو سڄي ڊيٽا جي منتقلي جي عمل کي آسان بڻائي ٿو ۽ صارفين کي جلدي سمجھڻ ۽ UART مواصلاتي ايپليڪيشنن کي لاڳو ڪرڻ جي اجازت ڏيندو.
- ڪمن کي منتقلي / وصول ڪريو: بائيٽ پڙهڻ، بائيٽ لکڻ، بفر پڙهڻ، بفر لکڻ، وغيره.
- اسٽيٽس افعال: حاصل ڪريو بفر جي ڊيگهه، TX حيثيت، وغيره.
هي دستاويز پهريون ڀيرو متعارف ڪرايو ويندو UART ڪميونيڪيشن پروٽوڪول، جيڪو صارفين کي UART ڪميونيڪيشن کي اصولن کان ايپليڪيشن تائين بهتر سمجهڻ ۾ مدد ڏيندو. انهي جي پٺيان آهي ڊائون لوڊ ۽ ايپليڪيشن ڪوڊ لاءِ گهربل وسيلن جي تياري، بشمول فرم ویئر لائبريري، ايپليڪيشن ڪوڊ ڊائون لوڊ، file ۽ ڊاريڪٽري جي ترتيب سان گڏوگڏ ايپليڪيشن نوٽ ۾ استعمال ٿيل ٽرمينل سافٽ ويئر ٽول جو تعارف. فنڪشنل وضاحت باب ۾، ايپليڪيشن ڪوڊ ڊاريڪٽري جي جوڙجڪ، پيٽرولر سيٽنگون ۽ API وضاحت متعارف ڪرايو ويندو. API جو استعمال بيان ڪيو ويندو "Module_UART" ايپليڪيشن ڪوڊ استعمال ڪندي ۽ APIs لاءِ گهربل فليش/رام وسيلن جو استعمال پڻ درج ڪيو ويندو. استعمال لاءِ هدايتون باب صارف کي ماحولياتي تياري، تاليف ۽ ٽيسٽ جي مرحلن ذريعي ھدايت ڪندو ته تصديق ڪرڻ لاءِ ته ايپليڪيشن ڪوڊ صحيح ڪم ڪندو. اهو پوءِ هدايتون مهيا ڪندو ته وضاحت ڪندي ته APIs کي صارف جي منصوبن ۾ ڪيئن ضم ڪيو وڃي ۽ آخرڪار انهن ترميمن ۽ عام مسئلن لاءِ حوالو فراهم ڪيو جيڪي شايد سامهون اچن.
استعمال ٿيل مخففات:
- UART: يونيورسل اسينڪرونس وصول ڪندڙ/ٽرانسميٽر
- API: ايپليڪيشن پروگرامنگ انٽرفيس
- LSB: گھٽ ۾ گھٽ اهم بٽ
- MSB: سڀ کان اهم بٽ
- PC: پرسنل ڪمپيوٽر
- SK: اسٽارٽر کٽ، HT32 ڊولپمينٽ بورڊ
- IDE: مربوط ترقي ماحول
UART ڪميونيڪيشن پروٽوڪول
UART هڪ سيريل ڪميونيڪيشن قسم جو انٽرفيس آهي جيڪو پنهنجي ٽرانسميٽر تي متوازي-کي-سيريل ڊيٽا جي تبادلي کي لاڳو ڪري ٿو ۽ پوءِ ساڳئي رسيور سان سيريل طور تي رابطو ڪري ٿو. وصول ڪندڙ وري ڊيٽا جي استقبال کان پوءِ سيريل کان متوازي ڊيٽا جي تبادلي کي انجام ڏئي ٿو. شڪل 1 سيريل ڪميونيڪيشن جو اسڪيمي ڊاگرام ڏيکاري ٿو ڏيکاري ٿو ته ڊيٽا ڪيئن منتقل ٿئي ٿي بٽ وار ترتيب ۾. تنهن ڪري ٽرانسميٽر ۽ وصول ڪندڙ جي وچ ۾ ٻه طرفي رابطي لاء، صرف ٻه تار، TX ۽ RX، هڪ ٻئي جي وچ ۾ ڊيٽا کي سيريل طور تي منتقل ڪرڻ جي ضرورت آهي. TX پن آهي جنهن تي UART سيريل ڊيٽا منتقل ڪري ٿو ۽ وصول ڪندڙ جي RX پن سان ڳنڍيل آهي. تنهن ڪري ٽرانسميٽر ۽ وصول ڪندڙ ڊوائيسز کي انهن جي TX ۽ RX پنن کي پار ڪرڻ جي ضرورت آهي UART ٻه طرفي ڪميونيڪيشن انجام ڏيڻ لاءِ، جيئن ڏيکاريل آهي شڪل 2.
شڪل 1. سيريل ڪميونيڪيشن ڊاگرام
شڪل 2. UART سرڪٽ ڊاگرام
UART سيريل ڪميونيڪيشن دوران، ڊيٽا ٽرانسميشن غير مطابقت رکندڙ آهي. هن جو مطلب آهي ته ٽرانسميٽر ۽ رسيور جي وچ ۾ ڪو ڪلاڪ يا ٻيو هم وقت سازي سگنل ناهي. هتي هڪ بيڊ ريٽ استعمال ڪيو ويو آهي، جيڪو سيريل ڊيٽا جي منتقلي/وصول ڪرڻ جي رفتار آهي ۽ جيڪو ڊيٽا جي منتقلي کان اڳ ٻنهي طرفن طرفان مقرر ڪيو ويو آهي. ان کان علاوه، خاص بٽ جهڙوڪ شروع ۽ اسٽاپ بٽ شامل ڪيا ويا آهن ڊيٽا پيڪٽ جي شروعات ۽ آخر ۾ مڪمل UART ڊيٽا پيڪيٽ ٺاهڻ لاءِ. شڪل 3 ڏيکاري ٿو UART ڊيٽا پيڪٽ جي جوڙجڪ جڏهن ته شڪل 4 ڏيکاري ٿو UART 8-bit ڊيٽا پيڪٽ بغير برابري بٽ جي.
شڪل 3. UART ڊيٽا پيڪيٽ جي جوڙجڪ
شڪل 4. UART 8-bit ڊيٽا پيڪيٽ فارميٽ
UART ڊيٽا پيڪٽ جو هر حصو هيٺ ڏنل ترتيب ۾ متعارف ڪرايو ويو آهي.
- شروعاتي بٽ: هي ڊيٽا پيڪٽ جي شروعات کي ظاهر ڪري ٿو. UART TX پن عام طور تي ٽرانسميشن شروع ٿيڻ کان اڳ هڪ اعلي منطقي سطح تي رهي ٿو. جيڪڏهن ڊيٽا ٽرانسميشن شروع ٿئي ٿي، UART ٽرانسميٽر TX پن کي تيز کان گهٽ، يعني 1 کان 0 تائين ڇڪيندو، ۽ پوء ان کي هڪ ڪلاڪ چڪر لاء اتي رکو. UART وصول ڪندڙ ڊيٽا پڙهڻ شروع ڪندو جڏهن RX پن تي هڪ اعلي کان گهٽ منتقلي معلوم ڪئي وئي آهي.
- ڊيٽا: هي حقيقي ڊيٽا منتقل ٿيل آهي، ڊيٽا جي ڊيگهه 7، 8 يا 9 بٽ سان. ڊيٽا عام طور تي پهريون ڀيرو LSB سان منتقل ڪيو ويندو آهي.
- برابري بٽ: ڊيٽا ۾ منطق "1" جو تعداد اهو طئي ڪرڻ لاء استعمال ڪيو ويو آهي ته ڇا ڪنهن به ڊيٽا ٽرانسميشن دوران تبديل ٿي وئي آهي. برابر برابريءَ لاءِ، ڊيٽا ۾ منطق ”1“ جو ڪل تعداد ھڪڙو برابر نمبر ھئڻ گھرجي، ان جي ابتڙ، ڊيٽا ۾ منطق ”1“ جو مجموعو تعداد بي جوڙ برابريءَ لاءِ بي مثال ھئڻ گھرجي.
- اسٽاپ بٽ: هي ڊيٽا پيڪٽ جي پڇاڙيءَ ڏانهن اشارو ڪري ٿو، جتي UART ٽرانسميٽر TX پن کي گهٽ کان مٿاهين طرف ڇڪيندو، يعني 0 کان 1 تائين، ۽ پوءِ ان کي 1 يا 2-bit وقت واري عرصي تائين اتي رکو.
جيئن اڳ ذڪر ڪيو ويو آهي، ڇو ته UART سرڪٽ ۾ ڪوبه ڪلاڪ سگنل نه آهي، ساڳئي سيريل ڊيٽا جي منتقلي / وصول ڪرڻ جي رفتار، جنهن کي باڊ جي شرح طور سڃاتو وڃي ٿو، ٽرانسميٽر ۽ وصول ڪندڙ جي وچ ۾ غلطي کان آزاد ٽرانسميشن کي لاڳو ڪرڻ لاء وضاحت ڪئي وڃي. بڊ جي شرح بيان ڪئي وئي آهي بٽس جي تعداد طرفان منتقل ڪيل في سيڪنڊ، بي پي ايس ۾ (بٽ في سيڪنڊ). ڪجھ معياري ۽ عام طور تي استعمال ٿيل بڊ ريٽ آھن 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 firmware لائبريري ڊائون لوڊ ڪيو ويو آهي ايپليڪيشن ڪوڊ استعمال ڪرڻ کان پهريان. ڊائون لوڊ لنڪ هيٺ ڏيکاريل آهي. هتي ٻه آپشن آهن، HT32_M0p_Vyyyymmdd.zip HT32F5xxxx سيريز لاءِ ۽ HT32_M3_Vyyyymmdd.zip HT32F1xxxx سيريز لاءِ. ڊائون لوڊ ۽ ان زپ مطلوب file.
زپ file ڪيترن ئي فولڊرن تي مشتمل آھي جنھن کي درجي بندي ڪري سگھجي ٿو دستاويز، فرم ویئر لائبريري، ٽولز ۽ ٻيون شيون، جنھن جي جڳھ جو رستو تصوير 5 ۾ ڏيکاريل آھي. HT32 فرم ویئر لائبريري زپ file هڪ سان file HT32_STD_xxxxx_FWLib_Vm.n.r_s.zip جو نالو Firmware_Library فولڊر جي ھيٺان واقع آھي.
شڪل 5. HT32_M0p_Vyyyymmdd.zip مواد
ايپليڪيشن ڪوڊ
هيٺ ڏنل لنڪ تان ايپليڪيشن ڪوڊ ڊائون لوڊ ڪريو. ايپليڪيشن ڪوڊ هڪ زپ ۾ ڀريل آهي file هڪ سان 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، ايپليڪيشن ڪوڊ ۽ فرم ویئر لائبريري ان زپ ٿيل files کي ترتيب ڏيڻ شروع ڪرڻ کان اڳ صحيح رستو ۾ رکڻ گھرجي. ايپليڪيشن ڪوڊ زپ file عام طور تي هڪ يا وڌيڪ فولڊر تي مشتمل هوندو آهي، جهڙوڪ ايپليڪيشن ۽ لائبريري، جيئن تصوير 7 ۾ ڏيکاريل آهي. ايپليڪيشن فولڊر کي HT32 فرم ويئر لائبريري جي روٽ ڊاريڪٽري جي هيٺان رکي. file رستي جي ترتيب، جيئن تصوير 8 ۾ ڏيکاريل آهي. متبادل طور تي، ساڳئي ترتيب جي نتيجن کي حاصل ڪرڻ لاء ايپليڪيشن ڪوڊ ۽ HT32 فرم ويئر لائبريري کي ساڳئي رستي ۾ ان زپ ڪريو.
شڪل 7. HT32_APPFW_xxxxx_APPCODENAME_Vm.n.r_s.zip مواد
شڪل 8. Decompression پاٿ
ٽرمينل سافٽ ويئر
ايپليڪيشن ڪوڊ COM بندرگاهن ذريعي پيغامن کي منتقل ڪري سگھي ٿو فنڪشنل چونڊ يا اسٽيٽس ڊسپلي کي لاڳو ڪرڻ لاءِ. ان لاءِ ھوسٽ سائڊ جي ضرورت آھي ته ٽرمينل سافٽ ويئر اڳ ۾ انسٽال ڪيو وڃي. استعمال ڪندڙ مناسب ڪنيڪشن سافٽ ويئر چونڊي سگھن ٿا، يا مفت لائسنس يافته سافٽ ويئر استعمال ڪري سگھن ٿا جهڙوڪ Tera Term. ايپليڪيشن ڪوڊ ۾، UART چينل 8-bits جي لفظ جي ڊيگهه سان ترتيب ڏنل آهي، ڪو برابري، 1 اسٽاپ بٽ ۽ 115200bps جي بڊ شرح.
فنڪشنل وضاحت
هي باب ايپليڪيشن ڪوڊ لاءِ هڪ فنڪشنل وضاحت فراهم ڪندو، جنهن ۾ ڊاريڪٽري جي ڍانچي تي معلومات، API آرڪيٽيڪچر، سيٽنگ جي وضاحت، وغيره.
ڊاريڪٽري جي جوڙجڪ
اپليڪيشن ڪوڊ file ايپليڪيشن فولڊر تي مشتمل آهي. ايندڙ پرت "Module_UART" فولڊر آهي جنهن ۾ ٻه ايپليڪيشن پروگرام شامل آهن، "UART_Module_Ex"ample" ۽ "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 |
مکيه.c | مکيه پروگرام جو ذريعو ڪوڊ |
\\application\Module_UART\UART_Bridge*2 | |
_CreateProject.bat | پروجيڪٽ ٺاهڻ لاءِ بيچ اسڪرپٽ files |
_ProjectSource.ini | شروعات file پروجيڪٽ ۾ سورس ڪوڊ شامل ڪرڻ لاءِ |
ht32_board_config.h | سيٽ اپ ڪريو file IC پرديري I/O تفويض سان لاڳاپيل |
ht32fxxxxxx_01_it.c | مداخلت سروس پروگرام file |
مکيه.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_Example" ايپليڪيشن ڪوڊ، API پڙهڻ ۽ لکڻ جي عملن کي لوپ بيڪ طريقي سان ڪيو ويندو آهي، حوالو ڏيو "API استعمال Examples" سيڪشن وڌيڪ تفصيل لاء.
- "UART_Bridge" ايپليڪيشن ڪوڊ ۾، ٻه UART چينل، UART CH0 ۽ UART CH1، چالو ڪيا ويا آھن، ۽ ڪسٽم ڪميونيڪيشن پروٽوڪول COMMAND جي جوڙجڪ ذريعي ٻن UART ڊوائيسز جي وچ ۾ لاڳو ٿيل آھن. وڌيڪ معلومات لاءِ، ڏسو ”API استعمال Examples" سيڪشن.
- اپليڪيشن ڪوڊ استعمال ڪرڻ جي ضرورت آهي uart_module.c/h files جنهن وٽ هڪ فرم ویئر لائبريري ورزن جي گهرج آهي. اپڊيٽ جي مطابق ضرورت وقت وقت تي تبديل ٿي سگھي ٿي. موجوده فرم ویئر لائبريري ورزن جي گهرج جي تصديق ڪرڻ لاءِ، مکيه. file. جيڪڏهن فرم ویئر لائبريري ورزن جي ضرورتن کي پورو نٿو ڪري، "فرم ویئر لائبريري" سيڪشن ۾ مهيا ڪيل لنڪ مان جديد نسخو ڊائون لوڊ ڪريو.
API آرڪيٽيڪچر
هر API وٽ هڪ اهم پيٽرولر CH آهي، جيڪو UART چينل آهي. اهو طئي ڪري ٿو ته UART چينل کي ڪنٽرول ڪيو وڃي. هن وقت تائين چار UART چينلز جي حمايت ڪئي وئي آهي ۽ ان ڪري چار مسلسل علامتون هن ريت بيان ڪيون ويون آهن. اهي استعمال ڪيا ويا آهن پيراميٽر CH جيئن APIs کي ڪنٽرول لاءِ بنياد فراهم ڪن.
- 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 کي ترتيب ڏيڻ لاءِ، ان کي صرف ضروري آھي ھڪڙو اضافي UART بنيادي ڪنفيگريشن پيراميٽر ٽيبل جي جوڙجڪ فارم سان، USART_InitTypeDef. 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 وصف جي حوالي سان يا حوالو ڏيندي ”سيٽنگ ترميمي ۽ سوالن جا جواب“ سيڪشن.
اتي ٽي API فن تعمير جي مکيه خاصيتون آهن:
- چار UART چينلز تائين سپورٽ آھن. انهن جا ان پٽ پيٽرول آهن UARTM_CH0، UARTM_CH1، UARTM_CH2 ۽ UARTM_CH3.
- UART چينلز جو تعداد مقرر ڪري سگھجي ٿو ۽ غير استعمال ٿيل چينل موجود ميموري اسپيس کي گھٽ نه ڪندا.
- سڀ UART سيٽنگون ۽ I/O وصفون مڪمل طور تي APIs کان الڳ آھن. هي قدرن کي ترتيب ڏيڻ جي انتظام جي سهولت کي وڌائي ٿو ۽ غلط يا غائب سيٽنگن جي امڪان کي گھٽائي ٿو.
وضاحت سيٽنگ
هي سيڪشن ht32_board_config.h ۽ uart_module.h ۾ پيٽرولر سيٽنگون متعارف ڪرايو ويندو files.
- ht32_board_config.h: هي file پن وصفن ۽ ڊولپمينٽ بورڊ جي لاڳاپيل سيٽنگن لاءِ استعمال ڪيو ويندو آهي، جنهن ۾ شامل آهي UART IP چينل (UART0, UART1, USART0…) جيڪو Starter Kit (SK) پاران استعمال ڪيو ويندو آهي، لاڳاپيل TX/RX پن جڳهيون ۽ TX/RX بفر سائيز. شڪل 10 ڏيکاري ٿو HT32F52352 اسٽارٽر کٽ جي سيٽنگ مواد. ڊولپمينٽ جي فنڪشنل انضمام تي مدار رکندي، استعمال ڪندڙ استعمال ٿيل ڊيوائس جي ڊيٽ شيٽ جي "پن اسائنمينٽ" سيڪشن ڏانهن اشارو ڪري سگھن ٿا پن وصفن کي لاڳو ڪرڻ لاءِ. سيٽنگ جي ترميم بابت وڌيڪ تفصيل "سيٽنگ جي ترميم ۽ سوالن جا جواب" سيڪشن ۾ بيان ڪيا ويندا.
شڪل 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، Parity ۽ Mode configurations تي مشتمل آهي، جيئن هيٺ ڏيکاريل آهي.متغير نالو قسم وصف USART_BaudRate u32 UART ڪميونيڪيشن بيڊ جي شرح USART_Word Length u16 UART مواصلاتي لفظ جي ڊيگهه: 7، 8 يا 9 بٽ USART_StopBits u16 UART ڪميونيڪيشن اسٽاپ بٽ ڊگھائي: 1 يا 2 بٽ USART_Parity u16 UART ڪميونيڪيشن برابري: ايڏو، بي جوڙ، نشان، خلا يا ڪو برابري USART_Mode u16 UART ڪميونيڪيشن موڊ؛ APIs صرف عام موڊ جي حمايت ڪن ٿا
- USART_InitTypeDef
- API افعال کي استعمال ڪرڻ کان اڳ، بنيادي پروگرام ۾ UART بنيادي ترتيب مڪمل ڪريو. هن ايپليڪيشن ڪوڊ لاءِ UART بنيادي جوڙجڪ تصوير 12 ۾ ڏيکاريل آهي. هتي بڊ جي شرح 115200bps آهي، لفظ جي ڊيگهه 8-bit آهي، اسٽاپ بٽ جي ڊيگهه 1-bit آهي، ۽ ڪا به برابري ناهي.
شڪل 12. UART بنيادي ترتيب
- شڪل 13 uart_module.h ۾ اعلان ڪيل API افعال ڏيکاري ٿو file. هيٺيون جدول وضاحت ڪري ٿو فنڪشن، ان پٽ پيٽرول ۽ API افعال جي استعمال.
شڪل 13. API فنڪشن اعلانات uart_module.h ۾
نالو | void 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 | ڊيٽا کي لکيو وڃي | |
ٻاھر | ڪاميابي | ڪامياب |
ERROR | ناڪام ٿيو | |
استعمال | UARTM_WriteByte(UARTM_CH0, 'A'); //UART لکي ٿو 1 بائيٽ - 'اي' |
نالو | u32 UARTM_Write(u32 CH, u8 *pBuffer, u32 uLength) | |
فنڪشن | UART ماڊل لکڻ آپريشن (TX) | |
ان پٽ | CH | UART چينل |
pBuffer | بفر پوائنٽر | |
u ڊگھائي | لکڻ جي ڊيٽا جي ڊيگهه | |
ٻاھر | ڪاميابي | ڪامياب |
ERROR | ناڪام ٿيو | |
استعمال | u8 ٽيسٽ[] = ”هي ٽيسٽ آهي!\r\n“; UARTM_Write(UARTM_CH0, Test, sizeof(Test) -1); // UART لکي ٿو pBuffer ڊيٽا |
نالو | u32 UARTM_ReadByte(u32 CH, u8 *pData) | |
فنڪشن | UART ماڊل ريڊ بائيٽ آپريشن (RX) | |
ان پٽ | CH | UART چينل |
pData | پڙهڻ واري ڊيٽا کي رکڻ لاءِ پتو | |
ٻاھر | ڪاميابي | ڪامياب |
ERROR | ناڪام (ڪابه ڊيٽا) | |
استعمال | u8 TempData؛ جيڪڏهن (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 ٽيسٽ2[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 سي ايڇ) | |
فنڪشن | حاصل ڪريو پڙھندڙ بفر ڊگھائي (RX) | |
ان پٽ | CH | UART چينل |
ٻاھر | u ڊگھائي | بفر جي ڊيگهه پڙهو |
استعمال | UARTM_Init(UARTM_CH0, &USART_InitStructure, 40); // UART ماڊل جي شروعات جڏهن ته (UARTM_GetReadBufferLength(UARTM_CH0) <5)؛//انتظار ڪريو جيستائين UARTM_ReadBuffer ڊيٽا جا 5 بائيٽ حاصل ڪري چڪو آهي |
نالو | u32 UARTM_GetWriteBufferLength(u32 سي ايڇ) | |
فنڪشن | حاصل ڪريو لکڻ جي بفر جي ڊيگهه (TX) | |
ان پٽ | CH | UART چينل |
ٻاھر | u ڊگھائي | بفر ڊگھائي لکو |
نالو | u8 UARTM_IsTxFinished(u32 سي ايڇ) | |
فنڪشن | حاصل ڪريو 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 اسٽيٽس TRUE آهي، ۽ پوءِ ايندڙ عملن کي جاري رکو.//هڪ پابندي شامل ڪئي وئي آهي ڇاڪاڻ ته هي فنڪشن شامل نه ڪيو ويو آهي جيستائين uart_module.c ۾ SVN ورجن نمبر 525 آهي. |
نالو | باطل UARTM_DiscardReadBuffer(u32 سي ايڇ) | |
فنڪشن | پڙهڻ واري بفر ۾ ڊيٽا کي رد ڪريو | |
ان پٽ | CH | UART چينل |
API استعمال Examples
ھي سيڪشن ڏيکاريندو API لکڻ ۽ پڙھڻ examples جي "Module_UART" ايپليڪيشن ڪوڊ استعمال ڪندي شروعاتي عمل ۽ "UART_Module_Example" ايپليڪيشن ڪوڊ جو عمل. APIs استعمال ڪرڻ کان اڳ، صارفين کي API سر شامل ڪرڻ جي ضرورت آھي file مکيه پروگرام سورس ڪوڊ ۾ file (#شامل "midleware/uart_module.h").
جيئن ته شڪل 14 ۾ ڏيکاريل آهي، جڏهن شروعاتي عمل ۾ داخل ٿيو، پهريون بيان ڪريو UART بنيادي ترتيب جي جوڙجڪ. پوءِ ترتيب ڏيو UART بنيادي جوڙجڪ جي جوڙجڪ ميمبرن سميت BaudRate، WordLength، StopBits، Parity ۽ Mode. آخرڪار، API جي شروعات واري فنڪشن کي ڪال ڪريو، جنهن جي مڪمل ٿيڻ شروعاتي عمل جي پڄاڻي کي ظاهر ڪري ٿي. ان کان پوءِ صارف اڳواٽ UART بنيادي ترتيب جي بنياد تي لکڻ ۽ پڙھڻ جا عمل جاري رکي سگھن ٿا.
شڪل 14. شروعاتي فلو چارٽ
"UART_Module_Example" ايپليڪيشن ڪوڊ ڏيکاري ٿو API پڙهڻ ۽ لکڻ جي عملن کي لوپ بيڪ انداز ۾. ھن لاءِ فلو چارٽ تصوير 15 ۾ ڏيکاريو ويو آھي. استعمال ٿيل API افعال ۾ شامل آھن UARTM_WriteByte(), UARTM_Write(), UARTM_ReadByte(), UARTM_Read() ۽ UARTM_GetReadBufferLength(). انهن جي وضاحت "API تفصيل" سيڪشن ۾ مهيا ڪئي وئي آهي.
شڪل 15. لکڻ ۽ پڙهڻ جو فلو چارٽ Examples
اتي هڪ ٻيو آهي “UART_Bridge” ايپليڪيشن ڪوڊ هيٺ “Module_UART” فولڊر جنهن سان لاڳاپيل file وضاحت "ڊائريڪٽري جي جوڙجڪ" سيڪشن ۾ متعارف ڪرايو ويو آهي. "UART_Bridge" ايپليڪيشن ڪوڊ ٻن UART چينلز، UART CH0 ۽ UART CH1 کي چالو ڪري ٿو، ۽ پوء ٻن UART ڊوائيسز جي وچ ۾ ڪميونيڪيشن پروٽوڪول کي ترتيب ڏئي ٿو COMMAND ساخت، gCMD1 ۽ gCMD2. اهي uart_bridge.c ۾ بيان ڪيا ويا آهن، جيئن هيٺ ڏيکاريل آهي. UARTBridge_CMD1TypeDef gCMD1:
متغير نالو | قسم | وصف |
uHeader | u8 | مٿو |
uCmd | u8 | حڪم |
uData[3] | u8 | ڊيٽا |
UARTBridge_CMD2TypeDef gCMD2:
متغير نالو | قسم | وصف |
uHeader | u8 | مٿو |
uCmdA | u8 | حڪم A |
uCmdB | u8 | حڪم B |
uData[3] | u8 | ڊيٽا |
"UART_Bridge" ايپليڪيشن ڪوڊ ۾، استعمال ڪريو gCMD1 ڊيٽا حاصل ڪرڻ لاءِ ڪمانڊ پيڪٽ طور ۽ پوءِ ان جو تجزيو ڪريو. پوء مطابق ڪسٽمائيز ڪميونيڪيشن پروٽوڪول، سيٽ ڪريو gCMD2 هڪ جوابي پيٽ جي طور تي ۽ ان کي منتقل ڪريو. هيٺ ڏنل هڪ اڳوڻي آهيampهڪ ڪمانڊ پيڪٽ gCMD1) ۽ هڪ جوابي پيڪيٽ (gCMD2). ڪمانڊ پيڪٽ (UARTBridge_CMD1TypeDef gCMD1):
بائيٽ 0 | بائيٽ 1 | بائيٽ 2 ~ بائيٽ 4 |
uHeader | uCmd | uData [3] |
”الف“ | "1" | "x، y، z" |
جوابي پيڪٽ (UARTBridge_CMD2TypeDef gCMD2):
بائيٽ 0 | بائيٽ 1 | بائيٽ 2 | بائيٽ 3 ~ بائيٽ 5 |
uHeader | uCmdA | uCmdB | uData [3] |
”ب“ | ”هڪ“ | "1" | "x، y، z" |
وسيلن جو ڪاروبار
HT32F52352 کي اڳواٽ وٺي رهيو آهيampلي، UART ماڊل پاران قبضو ڪيل وسيلن هيٺ ڏيکاريل آهي.
HT32F52352 | |
ROM سائيز | 946 بائيٽ |
رام جي ماپ | 40*1 + 256*2 بائيٽس |
نوٽ:
- هڪ واحد چينل لاءِ جھنڊو ۽ اسٽيٽس سميت عالمي متغير 40 بائيٽ ريم تي قبضو ڪن ٿا.
- هي هڪ شرط آهي جتي هڪ واحد چينل استعمال ڪيو ويندو آهي ۽ TX/RX بفر سائيز 128/128 بائيٽ آهي. بفر سائيز جي درخواست جي ضرورتن مطابق مقرر ڪري سگهجي ٿو.
جدول 4. ايپليڪيشن ڪوڊ وسيلن جو پيشو
- گڏ ڪرڻ جو ماحول: MDK-Arm V5.36، ARMCC V5.06 اپڊيٽ 7 (تعمير 960)
- آپشن کي بهتر ڪرڻ: سطح 2 (-O2)
استعمال لاء هدايتون
هي باب "Module_UART" ايپليڪيشن ڪوڊ لاءِ ماحولياتي تياري کي متعارف ڪرايو ويندو، انهي سان گڏ گڏ ڪرڻ ۽ ٽيسٽ جا مرحلا.
ماحولياتي تياري
"Module_UART" ايپليڪيشن ڪوڊ لاءِ گهربل هارڊويئر ۽ سافٽ ويئر هيٺ ڏنل آهن.
جدول 5. هارڊويئر/سافٽ ويئر ماحولياتي تياري
هارڊويئر / سافٽ ويئر | شمار | نوٽ |
اسٽارٽر کٽ | 1 | هي ايپليڪيشن نوٽ استعمال ڪري ٿو HT32F52352 Starter Kit هڪ اڳوڻي طورample |
USB ڪيبل | 1 | مائڪرو USB، پي سي سان ڳنڍيل |
ايپليڪيشن ڪوڊ | — | ڊائون لوڊ جو رستو، file ۽ ڊاريڪٽري جي ٺاھ جوڙ کي "ريسورس ڊائون لوڊ ۽ تياري" سيڪشن ۾ متعارف ڪرايو ويو آھي. رستو: "\\application\Module_UART\UART_Module_Exampلي" |
ترا اصطلاح | — | "ٽرمينل سافٽ ويئر" سيڪشن ڏانهن رجوع ڪريو |
ڪيل IDE | — | Keil uVision V5.xx |
پهريون، استعمال ڪريو HT32F52352 Starter Kit Virtual COM Port (VCP) فنڪشن سان گڏ E-Link32 Lite جي UART ايپليڪيشن جي تعارف لاءِ. ان کي لاڳو ڪرڻ لاء هيٺين ماحولياتي تياري جي ضرورت آهي:
- بورڊ تي ٻه USB انٽرفيس آهن. پي سي کي ڳنڍڻ لاءِ USB ڪيبل استعمال ڪريو ۽ بورڊ تي eLink32 Lite انٽرفيس جيئن تصوير 16-(a) ۾ ڏيکاريل آهي.
- جيئن ته ايپليڪيشن ڪوڊ کي استعمال ڪرڻ جي ضرورت آهي e-Link32 Lite Virtual COM Port (VCP) فنڪشن، پڪ ڪريو ته PAx*2 ۽ DAP_Tx جي UART Jumper-J2*1 کي جمپر استعمال ڪندي شارٽ ڪيو ويو آهي. J2 جڳه تصوير 16-(b) پاران ظاهر ڪيل آهي.
نوٽ
- اسٽارٽر کٽ تي J2 ٻه آپشن آهن، PAx ۽ DAP_Tx شارٽ ٿيل يا PAx ۽ RS232_Tx شارٽ ٿيل. تفصيلي سيٽنگ جي ڪمن لاءِ Starter Kit صارف دستي ڏانهن رجوع ڪريو.
- مختلف اسٽارٽر ڪٽس تي MCU UART RX پن جي جڳھ مختلف آھن. هن اڳوڻيample RX پن کي ظاهر ڪرڻ لاءِ PAx استعمال ڪري ٿو.
شڪل 16. HT32 اسٽارٽر کٽ بلاڪ ڊاگرام
ھاڻي استعمال ڪريو يوزر ٽارگيٽ بورڊ استعمال ڪريو ورچوئل COM پورٽ (VCP) فنڪشن سان گڏ E-Link32 Pro جي UART ايپليڪيشن جي تعارف لاءِ. ان کي لاڳو ڪرڻ لاء هيٺين ماحولياتي تياري جي ضرورت آهي:
- E-Link32 Pro جو هڪ پاسو ميني USB ڪيبل استعمال ڪندي PC سان ڳنڍيل آهي ۽ ٻيو پاسو 10-bit گري ڪيبل ذريعي استعمال ڪندڙ ٽارگيٽ بورڊ سان ڳنڍيل آهي. ڪيبل ۽ ٽارگيٽ بورڊ جي SWD انٽرفيس جي وچ ۾ ڪنيڪشن Dupont لائينن کي استعمال ڪندي لاڳو ڪيو ويو آھي، جيئن تصوير 17-(a) ۾ ڏيکاريل آھي.
- e-Link32 پرو جا سيريل ڪميونيڪيشن پن پن#7 VCOM_RXD ۽ پن#8- VCOM_TXD آهن. انهن کي صارف جي ٽارگيٽ بورڊ جي TX ۽ RX پنن سان ڳنڍيل هجڻ گهرجي، جيئن شڪل 17-(b) ۾ ڏيکاريل آهي.
شڪل 17. e-Link32 Pro + يوزر ٽارگيٽ بورڊ بلاڪ ڊاگرام
تاليف ۽ ٽيسٽ
هي سيڪشن وٺندو ”ايپليڪيشن\Module_UART\UART_Module_Example" هڪ اڳوڻي طورampتاليف ۽ ٽيسٽ جي عمل کي متعارف ڪرائڻ لاءِ. ان کان اڳ، پڪ ڪريو ته پوئين حصي ۾ بيان ڪيل سموريون تياريون لاڳو ڪيون ويون آھن ۽ ٽيرا ٽرمينل سافٽ ويئر ڊائون لوڊ ڪيو ويو آھي.
تفصيلي آپريشن جا مرحلا هيٺ ڏجن ٿا.
قدم 1. پاور آن ٽيسٽ
هارڊويئر ماحول کي ترتيب ڏيو جيئن اڳئين حصي ۾ بيان ڪيو ويو آهي. پاور آن ٿيڻ کان پوءِ، اسٽارٽر کٽ جي هيٺين کاٻي پاسي D9 پاور LED روشن ٿي ويندي. D1 USB LED E-Link32 Lite تي مٿي ساڄي پاسي روشن ڪيو ويندو USB ڳڻپ مڪمل ٿيڻ کان پوءِ. جيڪڏهن D1 ڊگهي عرصي کان پوءِ روشن نه ٿئي، تصديق ڪريو ته ڇا USB ڪيبل ڳالهه ٻولهه ڪرڻ جي قابل آهي. جيڪڏهن نه، پوء ان کي هٽايو ۽ ان کي ٻيهر داخل ڪريو.
قدم 2. ھڪڙو منصوبو ٺاھيو
ايپليڪيشن کي کوليو\Module_UART\UART_Module_Exampفولڊر ۾، ڪلڪ ڪريو _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 ري سيٽ. ان کان پوء، هڪ "ABC هي امتحان آهي!" پيغام ٿيندو
API ذريعي منتقل ڪيو ويندو ۽ ٽيرا ٽرم ونڊو ۾ ڏيکاريو ويندو، جيئن تصوير 21 ۾ ڏيکاريل آهي. وصول ڪرڻ واري فنڪشن جي حوالي سان، جڏهن ڊيٽا کي ٽيرا ٽرم ونڊو ۾ داخل ڪيو ويندو، لاڳاپيل API استعمال ڪيو ويندو وصولي بفر جي ڊيگهه کي طئي ڪرڻ لاء. جڏهن پي سي پاران حاصل ڪيل ڊيٽا 5 بائيٽ تائين پهچي ٿي، وصول ڪيل 5 بائيٽ ڊيٽا کي ترتيب سان موڪليو ويندو. جيئن ته شڪل 22 ۾ ڏيکاريل آهي، ڊيٽا کي ترتيب سان داخل ڪيو ويو آهي "1, 2, 3, 4, 5"، جيڪو حاصل ڪيو ويو آهي ۽ API ذريعي طئي ڪيو ويو آهي. ان کان پوء، ڊيٽا "1، 2، 3، 4، 5" پنجن انپٽس کان پوء پرنٽ ڪيو ويندو.
شڪل 21. “Module_UART” ايپليڪيشن ڪوڊ فنڪشنل ٽيسٽ - ٽرانسمٽ
شڪل 22. “Module_UART” ايپليڪيشن ڪوڊ فنڪشنل ٽيسٽ – وصول ڪريو
ٽرانسپلانٽ هدايتون
هي سيڪشن متعارف ڪرايو ويندو ته 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 main.c ڏانهن
قدم 4. Ht32_board_config.h استعمال ڪندي UART ڪميونيڪيشن لاءِ گهربل سيٽنگون لاڳو ڪريو file. اهو تفصيل سان متعارف ڪرايو ويو آهي "سيٽنگ جي وضاحت" ۽ "سيٽنگ ترميمي ۽ سوالن جا جواب" سيڪشن ۾.
سيٽنگ جي ترميم ۽ سوالن جا جواب
هي سيڪشن متعارف ڪرايو ويندو UART سيٽنگن کي ڪيئن تبديل ڪيو وڃي ۽ استعمال دوران ڪجهه عام سوالن جي وضاحت ڪن.
تبديل ڪريو UART پن اسائنمينٽ
- HT32F52352 Datasheet "Pin Assignment" باب جو حوالو ڏيندي، متبادل فنڪشن ميپنگ ٽيبل کي ڏسو جيڪو ڊوائيس جي قسم جي AFIO افعال کي لسٽ ڪري ٿو. UART لاڳاپيل پنن لاءِ، ڏسو ”AF6 USART/UART“ ڪالم، جيئن تصوير 26 ۾ ڏيکاريل آهي.
شڪل 26. HT32F52352 متبادل فنڪشن ميپنگ ٽيبل
- هي قدم صارفين کي هدايت ڪندو ته لاڳاپيل UART پنن کي ڳولڻ لاء مٿي ڏنل جدول استعمال ڪندي. HT32F52352 example 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 هڪ مثال طورampلي، هتي اهو بيان ڪيو ويو آهي ته هڪ نئون UART چينل ڪيئن شامل ڪجي.
ht32_board_config.h کي تبديل ڪريو file
HT32F52352 Datasheet "Pin Assignment" باب جو حوالو ڏيندي، متبادل فنڪشن ميپنگ ٽيبل کي ڏسو جيڪو ڊوائيس جي قسم جي AFIO افعال کي لسٽ ڪري ٿو. جيئن ته USART1 HTCFG_UARTM_CH0 طور استعمال ڪيو ويو آھي، نئون شامل ڪيل HTCFG_UARTM_CH1 USART0 چونڊي سگھي ٿو. هتي، TX ۽ RX پنون ترتيب وار PA2 ۽ PA3 تي واقع آهن، جيئن شڪل 28 جي مٿين اڌ ۾ ڏيکاريل آهي. لاڳاپيل ترميمون ht120_board_config.h ۾ ڪوڊ لائين 126~32 استعمال ڪندي لاڳو ڪيون ويون آهن، جيئن شڪل ۾ ڳاڙهي ڊاٽ ٿيل باڪس مان ڏيکاريل آهي. 28.
شڪل 28. ھڪڙو UART چينل شامل ڪريو
FAQs
Q: مرحلا 5 ۾ تاليف ۽ ٽيسٽ سيڪشن، ٽرانسمٽ فنڪشنل ٽيسٽ عام آهي. هتي، "ABC هي امتحان آهي!" پيغام ڪاميابيءَ سان ڏيکاريو ويو آھي، پر وصولي فنڪشن لاءِ، پنج ان پٽ ويلز ڇو نه موٽايا ويا ۽ ڏيکاريا ويا؟
A: چيڪ ڪريو ته ڇا MCU UART RX ۽ DAP_Tx پن UART Jumper-J2 جا جمپر استعمال ڪندي شارٽ ڪيا ويا آهن. جيئن ته ”Module_UART“ ايپليڪيشن ڪوڊ کي استعمال ڪرڻ جي ضرورت آهي ورچوئل COM پورٽ (VCP) جو e-Link32 Lite، شارٽ سرڪٽ سيٽنگ UART Jumper-J2 جي کاٻي ٻن پنن تي لاڳو ٿيڻ گهرجي، جيئن تصوير 29 ۾ ڏيکاريل آهي.
شڪل 29. UART جمپر-J2 سيٽنگ
سوال: بعد ۾ "تعمير" (يا شارٽ ڪٽ "F7") تي عمل ڪندي، هڪ غلطي پيغام ظاهر ٿئي ٿو جيڪو ظاهر ڪري ٿو ته فرم ویئر لائبريري ورزن هڪ کان پراڻو آهي جيڪو گهربل آهي؟ ڏسو تصوير 30.
A: "Module_UART" ايپليڪيشن ڪوڊ کي لاڳو ڪرڻ ۾ شامل ڪرڻ جي ضرورت آهي uart_module.c/h files جنهن کي هڪ خاص فرم ويئر لائبريري ورزن جي گهرج آهي. جڏهن اهڙي غلطي پيغام ظاهر ٿئي ٿي، ان جو مطلب آهي ته في الحال استعمال ٿيل فرم ویئر لائبريري هڪ پراڻو نسخو آهي. تنهن ڪري اهو ضروري آهي ته "فرم ویئر لائبريري" سيڪشن ۾ مهيا ڪيل لنڪ ذريعي جديد نسخو ڊائون لوڊ ڪريو.
شڪل 30. فرم ویئر لائبريري ورزن ايرر پيغام
نتيجو
هي دستاويز هڪ بنيادي تعارف فراهم ڪيو آهي ته جيئن صارفين کي بهتر سمجهڻ سان مدد ڪري سگهجي “Module_UART” ايپليڪيشن ڪوڊ ۽ UART ڪميونيڪيشن پروٽوڪول. انهي جي پٺيان وسيلا ڊائون لوڊ ۽ تياري ڪئي وئي. فنڪشنل وضاحت باب متعارف ڪرايو file ڊاريڪٽري جي جوڙجڪ، API آرڪيٽيڪچر، API وضاحت ۽ API استعمال examples. استعمال لاءِ هدايتون باب "Module_UART" ايپليڪيشن ڪوڊ جي ماحولياتي تياري، تاليف ۽ جانچ جو مظاهرو ڪيو. اهو ڪوڊ ٽرانسپلانٽ ۽ ترميمي سيٽنگ لاء هدايتون پڻ مهيا ڪيو ويو آهي ۽ انهي سان گڏ ڪجهه عام مسئلن جي وضاحت ڪري ٿي جيڪا شايد ٿي سگهي ٿي. هي سڀ گڏيل طور تي صارفين کي جلدي سمجھڻ جي اجازت ڏيندو ته APIs ڪيئن استعمال ڪجي ۽ پوءِ شروع ڪرڻ لاءِ وقت جي مقدار کي گھٽايو.
حوالو مواد
وڌيڪ معلومات لاء، ڏانهن وڃو Holtek webسائيٽ: www.holtek.com
نسخن ۽ ترميمي ڄاڻ
تاريخ | ليکڪ | ڇڏڻ | تبديلي جي ڄاڻ |
2022.04.30 | 蔡期育 (چي-يو سائي) | V1.00 | پهريون نسخو |
رد ڪرڻ
سڀ معلومات، ٽريڊ مارڪ، لوگو، گرافڪس، وڊيوز، آڊيو ڪلپس، لنڪس ۽ ٻيون شيون جيڪي هن تي ظاهر ٿين ٿيون webسائيٽ ('ڄاڻ') صرف حوالن لاءِ آهن ۽ ڪنهن به وقت بغير ڪنهن اڳواٽ اطلاع جي ۽ Holtek Semiconductor Inc. ۽ ان سان لاڳاپيل ڪمپنين جي صوابديد تي (هتان کان پوءِ 'Holtek'، 'ڪمپني'، 'اسان'، ' اسان' يا 'اسان جي'). جڏهن ته Holtek ان تي معلومات جي درستگي کي يقيني بڻائڻ جي ڪوشش ڪري ٿو webسائيٽ، معلومات جي درستگي لاءِ هولٽيڪ طرفان ڪا به ظاهري يا تقاضا وارنٽي نه ڏني وئي آهي. هولٽيڪ ڪنهن به غلطي يا رسيد جي ذميواري نه کڻندو.
هولٽيڪ ڪنهن به نقصان جو ذميوار نه هوندو (جنهن ۾ ڪمپيوٽر وائرس، سسٽم جي مسئلن يا ڊيٽا جي نقصان سميت پر ان تائين محدود ناهي) جيڪو به هن جي استعمال ۾ يا ان جي استعمال جي سلسلي ۾ پيدا ٿئي ٿو. webڪنهن به پارٽي طرفان سائيٽ. ٿي سگھي ٿو ھن علائقي ۾ ڪڙيون، جيڪي توھان کي دورو ڪرڻ جي اجازت ڏين ٿيون webٻين ڪمپنين جي سائيٽن.
هنن webسائيٽون Holtek پاران ڪنٽرول نه آهن. Holtek ڪا به ذميواري نه کڻندو ۽ اهڙين سائيٽن تي ڏيکاريل معلومات جي ڪا به ضمانت نه هوندي. ٻين ڏانهن هائپر لنڪس webسائيٽون توهان جي پنهنجي خطري تي آهن.
ذميواري جي حد
ڪنهن به صورت ۾ Holtek Limited ڪنهن به ٻئي ڌر کي ڪنهن به نقصان يا نقصان جي ذميوار نه هوندي جيڪا ڪنهن به يا ڪنهن به صورت ۾ توهان جي هن تائين رسائي يا استعمال جي سلسلي ۾ سڌي يا اڻ سڌي طرح سبب ٿي سگهي ٿي. webسائيٽ، ان تي مواد يا ڪو به سامان، مواد يا خدمتون.
حڪومتي قانون
ڊسڪليمر ۾ شامل آهي webسائيٽ کي سنڀاليو ويندو ۽ چين جي جمهوريه جي قانونن جي مطابق تفسير ڪيو ويندو. صارفين کي چين جي جمهوريه جي عدالتن جي غير خاص دائري اختيار ۾ جمع ڪرايو ويندو.
رد ڪرڻ جي تازه ڪاري
Holtek ڪنهن به وقت اڳواٽ اطلاع سان يا ان کان سواءِ ڊسڪليمر کي اپڊيٽ ڪرڻ جو حق محفوظ رکي ٿو، سڀئي تبديليون فوري طور تي پوسٽ ڪرڻ تي اثرائتو ٿينديون آهن. webسائيٽ.
دستاويز / وسيلا
![]() |
HOLTEK HT32 MCU UART ايپليڪيشن نوٽ [pdf] استعمال ڪندڙ دستياب HT32 MCU، UART ايپليڪيشن نوٽ، HT32 MCU UART، ايپليڪيشن نوٽ، HT32، MCU UART ايپليڪيشن نوٽ، HT32 MCU UART ايپليڪيشن نوٽ |