HOLTEK HT32 MCU UART የመተግበሪያ ማስታወሻ የተጠቃሚ መመሪያ
መግቢያ
ዩኒቨርሳል ያልተመሳሰለ ተቀባይ/አስተላላፊ - UART በስፋት ጥቅም ላይ የዋለ የመለያ ማስተላለፊያ በይነገጽ ነው ተለዋዋጭ ያልተመሳሰል ሙሉ-duplex ውሂብ ማስተላለፍ። በዚህ አፕሊኬሽን ማስታወሻ ላይ የቀረበው "Module_UART" የመተግበሪያ ኮድ TX/RX ማቋረጦችን በሶፍትዌር ሪንግ ቋት በመጠቀም ቀላል የ UART ማስተላለፊያ/መቀበል ተግባራትን በኤፒአይዎች ተግባራዊ ለማድረግ፣ ተዛማጅ ተግባራቶቹ ከዚህ በታች ተብራርተዋል። ይህ አጠቃላይ የመረጃ ስርጭት ሂደትን ቀላል ያደርገዋል እና ተጠቃሚዎች የ UART ግንኙነት መተግበሪያዎችን በፍጥነት እንዲረዱ እና እንዲተገብሩ ያስችላቸዋል።
- ተግባራትን ማስተላለፍ/መቀበል፡ ባይት ማንበብ፣ ባይት መጻፍ፣ ቋት ማንበብ፣ ቋት መጻፍ፣ ወዘተ.
- የሁኔታ ተግባራት፡ የቋት ርዝመት፣ የTX ሁኔታ፣ ወዘተ ያግኙ።
ይህ ሰነድ በመጀመሪያ የ UART ኮሙኒኬሽን ፕሮቶኮልን ያስተዋውቃል፣ ይህም ተጠቃሚዎች የUART ግንኙነትን ከመርህ ወደ አተገባበር በተሻለ ሁኔታ እንዲረዱ ይረዳቸዋል። ቀጥሎም ለመተግበሪያው ኮድ የሚያስፈልጉትን ሀብቶች በማውረድ እና በማዘጋጀት የጽኑ ዌር ቤተ-መጽሐፍትን ጨምሮ ፣ የመተግበሪያ ኮድ ማውረድ ፣ file እና የማውጫ ውቅር እንዲሁም በመተግበሪያው ማስታወሻ ውስጥ ጥቅም ላይ የዋለው የተርሚናል ሶፍትዌር መሳሪያ መግቢያ። በተግባራዊ መግለጫ ምእራፍ ውስጥ፣ የመተግበሪያ ኮድ ማውጫ መዋቅር፣ የመለኪያ መቼቶች እና የኤፒአይ መግለጫ ይተዋወቃሉ። የኤፒአይ አጠቃቀሙ በ"Module_UART" አፕሊኬሽን ኮድ ይገለጻል እና ለኤፒአይዎቹ የሚያስፈልገው የፍላሽ/ራም ግብዓትም ይዘረዘራል። የአጠቃቀም መመሪያው ምዕራፍ ተጠቃሚውን በአካባቢ ጥበቃ ዝግጅት፣ ማጠናቀር እና መፈተሽ ደረጃዎችን በመምራት የማመልከቻው ኮድ በትክክል መስራቱን ያረጋግጣል። ከዚያም ኤፒአይዎችን ከተጠቃሚው ፕሮጄክቶች ጋር እንዴት እንደሚዋሃዱ የሚያብራራ መመሪያ ይሰጣል እና በመጨረሻም ሊያጋጥሙ የሚችሉ ማሻሻያዎችን እና የተለመዱ ችግሮችን ማጣቀሻ ያቀርባል።
አሕጽሮተ ቃል ጥቅም ላይ ውሏል -
- UART፡ ሁለንተናዊ ያልተመሳሰለ ተቀባይ/አስተላላፊ
- ኤፒአይ፡ የመተግበሪያ ፕሮግራሚንግ በይነገጽ
- LSB፡ ትንሹ ጉልህ ቢት
- ኤምኤስቢ፡ በጣም አስፈላጊ ቢት
- ፒሲ፡ የግል ኮምፒተር
- SK ማስጀመሪያ ኪት, HT32 ልማት ቦርድ
- አይዲኢ፡ የተቀናጀ ልማት አካባቢ
UART የግንኙነት ፕሮቶኮል
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 አስተላላፊው የቲኤክስ ፒን ከከፍተኛ ወደ ዝቅተኛ ማለትም ከ 1 ወደ 0 ይጎትታል እና ከዚያ ለአንድ ሰዓት ዑደት ያቆየዋል። ከፍተኛ ወደ ዝቅተኛ ሽግግር በ RX ፒን ላይ ሲገኝ የ UART ተቀባይ ውሂብ ማንበብ ይጀምራል።
- ውሂብ፡- ይህ የተላለፈው ትክክለኛው ውሂብ ነው፣ የውሂብ ርዝመት 7፣ 8 ወይም 9 ቢት። ውሂቡ ብዙውን ጊዜ በመጀመሪያ ከ LSB ጋር ይተላለፋል።
- የተመጣጣኝ ቢት በመረጃው ውስጥ ያለው የሎጂክ ቁጥር "1" በሚተላለፍበት ጊዜ የትኛውም ውሂብ መቀየሩን ለመወሰን ጥቅም ላይ ይውላል. ለተመጣጣኝ እኩልነት, በመረጃው ውስጥ ያለው አጠቃላይ የ "1" አመክንዮ ቁጥር እኩል ቁጥር መሆን አለበት, በተቃራኒው, በመረጃው ውስጥ ያለው አጠቃላይ የ "1" አመክንዮ ቁጥር ለጎደለው እኩልነት ያልተለመደ ቁጥር መሆን አለበት.
- ቢት አቁም፡ ይህ የውሂብ ፓኬት መጨረሻን ያሳያል፣ የ UART አስተላላፊው የቲኤክስ ፒኑን ከዝቅተኛ ወደ ከፍተኛ ማለትም ከ0 ወደ 1 ይጎትታል እና ከዚያ ለ1 ወይም 2-ቢት ጊዜ ያቆየዋል።
ቀደም ሲል እንደተገለፀው በ UART ወረዳ ውስጥ ምንም የሰዓት ምልክት ስለሌለ, ተመሳሳይ ተከታታይ መረጃን የሚያስተላልፍ / የመቀበያ ፍጥነት, ባውድ ተመን በመባል የሚታወቀው, ከስህተት የጸዳ ስርጭትን ለመተግበር በማሰራጫው እና በተቀባዩ መካከል መገለጽ አለበት. የባውድ መጠን የሚገለጸው በሴኮንድ በሚተላለፉ የቢት ብዛት፣ በbps (ቢት በሰከንድ) ነው። አንዳንድ መደበኛ እና በብዛት ጥቅም ላይ የሚውሉት ባውድ ታሪፎች 4800bps፣ 9600bps፣ 19200bps፣ 115200bps፣ወዘተ ናቸው።አንድ ነጠላ ዳታ ቢት ለማስተላለፍ የሚያስፈልገው ተዛማጅ ጊዜ ከዚህ በታች ይታያል።
ሠንጠረዥ 1. ባውድ ተመን ከ1-ቢት የማስተላለፊያ ጊዜ ጋር ሲነጻጸር
የባውድ ደረጃ | 1-ቢት ማስተላለፊያ ጊዜ |
4800bps | 208.33µ ሴ |
9600bps | 104.16µ ሴ |
19200bps | 52.08µ ሴ |
115200bps | 8.68µ ሴ |
ምንጭ ማውረድ እና ዝግጅት
ይህ ምዕራፍ የመተግበሪያውን ኮድ እና ጥቅም ላይ የዋለውን የሶፍትዌር መሳሪያ፣ እንዲሁም ማውጫውን እንዴት ማዋቀር እንደሚቻል እና ያስተዋውቃል file መንገድ.
Firmware Library
በመጀመሪያ የመተግበሪያውን ኮድ ከመጠቀምዎ በፊት የ Holtek HT32 firmware ቤተ-መጽሐፍት መጫኑን ያረጋግጡ። የማውረጃው ሊንክ ከዚህ በታች ይታያል። እዚህ ሁለት አማራጮች አሉ HT32_M0p_Vyyyymmdd.zip ለHT32F5xxxx ተከታታይ እና HT32_M3_Vyyyymmdd.zip ለHT32F1xxxx ተከታታይ። ያውርዱ እና የሚፈልጉትን ዚፕ ይክፈቱ file.
ዚፕ file እንደ ሰነድ፣ Firmware Library፣ Tools እና ሌሎች ነገሮች ሊመደቡ የሚችሉ በርካታ አቃፊዎችን ይዟል፣ የቦታ አቀማመጥ ዱካ በስእል 5 ይታያል። HT32 firmware library zip 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 firmware ላይብረሪ ስለሌለው files፣ የመተግበሪያው ኮድ እና የጽኑ ትዕዛዝ ላይብረሪ ተከፍተዋል። files ማጠናቀር ከመጀመሩ በፊት በትክክለኛው መንገድ ላይ መቀመጥ አለበት. የመተግበሪያ ኮድ ዚፕ file በስእል 7 ላይ እንደሚታየው እንደ አፕሊኬሽን እና ላይብረሪ ያሉ አንድ ወይም ከዚያ በላይ ማህደሮችን ይይዛል።የመተግበሪያውን ማህደር ለማጠናቀቅ በHT32 firmware library root directory ስር ያስቀምጡ። file መንገድ ውቅር፣ በስእል 8 ላይ እንደሚታየው። በአማራጭ፣ ተመሳሳይ የውቅር ውጤቶችን ለማግኘት በተመሳሳይ መንገድ የመተግበሪያውን ኮድ እና HT32 firmware ቤተ-መጽሐፍትን በተመሳሳይ መንገድ ይንቀሉ።
ምስል 7. HT32_APPFW_xxxxx_APPCODENAME_Vm.n.r_s.zip ይዘቶች
ምስል 8. የመበስበስ መንገድ
የተርሚናል ሶፍትዌር
የተግባር ምርጫን ወይም የሁኔታ ማሳያን ለመተግበር የመተግበሪያው ኮድ በCOM ወደብ በኩል መልዕክቶችን ማስተላለፍ ይችላል። ይህ ተርሚናል ሶፍትዌር አስቀድሞ እንዲጭን የአስተናጋጁ ጎን ያስፈልገዋል። ተጠቃሚዎች ተገቢውን የግንኙነት ሶፍትዌር መምረጥ ወይም እንደ Tera Term ያሉ ነጻ ፈቃድ ያላቸው ሶፍትዌሮችን መጠቀም ይችላሉ። በመተግበሪያ ኮድ ውስጥ የ UART ቻናል በ 8-ቢት የቃላት ርዝመት የተዋቀረ ነው ፣ ምንም እኩልነት ፣ 1 ማቆሚያ ቢት እና ባውድ ፍጥነት 115200bps።
ተግባራዊ መግለጫ
ይህ ምዕራፍ የማመልከቻው ኮድ ተግባራዊ መግለጫ ይሰጣል፣ በማውጫው መዋቅር፣ በኤፒአይ አርክቴክቸር፣ የቅንብር መግለጫ፣ ወዘተ.
ማውጫ መዋቅር
የመተግበሪያ ኮድ file የመተግበሪያ አቃፊ ይዟል. የሚቀጥለው ንብርብር ሁለት የመተግበሪያ ፕሮግራሞችን የያዘው "Module_UART" አቃፊ ነው, "UART_Module_Example” እና “UART_ድልድይ”። የሚመለከተው fileዎች ተዘርዝረዋል እና ከዚህ በታች ተብራርተዋል.
ሠንጠረዥ 2. የመተግበሪያ ኮድ ማውጫ መዋቅር
አቃፊ / File ስም | መግለጫ |
\\ መተግበሪያ \ ሞጁል_UART \ UART_Module_Example*1 | |
_ፕሮጀክት ፍጠር.ባት | ፕሮጀክት ለመፍጠር ባች ስክሪፕቶች files |
_ProjectSource.ini | ማስጀመር file ምንጭ ኮድ ወደ ፕሮጀክቶች ለማከል |
ht32_board_config.h | ማዋቀር file ከ IC peripheral I/O ምደባ ጋር የተያያዘ |
ht32fxxxxx_01_it.c | የአገልግሎት ፕሮግራም ማቋረጥ file |
ዋና.ሲ | የፕሮግራሙ ዋና ምንጭ ኮድ |
\\ መተግበሪያ \ ሞዱል_UART \ UART_ድልድይ*2 | |
_ፕሮጀክት ፍጠር.ባት | ፕሮጀክት ለመፍጠር ባች ስክሪፕቶች files |
_ProjectSource.ini | ማስጀመር file ምንጭ ኮድ ወደ ፕሮጀክቶች ለማከል |
ht32_board_config.h | ማዋቀር file ከ IC peripheral I/O ምደባ ጋር የተያያዘ |
ht32fxxxxx_01_it.c | የአገልግሎት ፕሮግራም ማቋረጥ file |
ዋና.ሲ | የዋናው ፕሮግራም ምንጭ ኮድ |
uart_bridge.h uart_bridge.c | UART ድልድይ ራስጌ file እና የምንጭ ኮድ file |
\\ መገልገያዎች \ መካከለኛ ዕቃዎች | |
uart_module.h*3 uart_module.c*3 | የኤፒአይ ራስጌ file እና የምንጭ ኮድ file |
\\ መገልገያዎች \ የጋራ | |
ringbuffer.h ring_buffer.c | የሶፍትዌር ቀለበት ቋት ራስጌ file እና የምንጭ ኮድ file |
ማስታወሻ፡-
- በ«UART_Module_Example” የመተግበሪያ ኮድ፣ የኤፒአይ የማንበብ እና የመጻፍ ስራዎች የሚከናወኑት በተዘዋዋሪ መንገድ ነው፣ “API Usage Ex” የሚለውን ይመልከቱ።amples" ክፍል ለተጨማሪ ዝርዝሮች።
- በ "UART_Bridge" አፕሊኬሽን ኮድ ውስጥ ሁለት UART ቻናሎች UART CH0 እና UART CH1 ነቅተዋል እና በ COMMAND መዋቅሮች በኩል ብጁ የግንኙነት ፕሮቶኮል በሁለቱ UART መሳሪያዎች መካከል ይተገበራል። ለበለጠ መረጃ፣ የ«API አጠቃቀም Examples" ክፍል.
- የመተግበሪያው ኮድ uart_module.c/h መጠቀም አለበት። fileየጽኑ ትዕዛዝ ቤተ-መጽሐፍት ስሪት መስፈርት ያላቸው። በዝማኔው መሠረት መስፈርቱ ከጊዜ ወደ ጊዜ ሊለወጥ ይችላል። የአሁኑን የጽኑዌር ቤተ-መጽሐፍት ሥሪት መስፈርት ለማረጋገጥ፣ በዋናው ላይ “ጥገኛ ማረጋገጫ” የሚለውን ቁልፍ ቃል በመፈለግ የጥገኝነት ማረጋገጫ ይዘቱን ይመልከቱ። file. የጽኑ ትዕዛዝ ቤተ መፃህፍቱ መስፈርቶቹን የማያሟላ ከሆነ በ "Firmware Library" ክፍል ውስጥ ካለው አገናኝ አዲሱን እትም ያውርዱ።
API Architecture
እያንዳንዱ ኤፒአይ አስፈላጊ መለኪያ CH አለው፣ እሱም UART ቻናል ነው። ይህ የትኛው UART ቻናል መቆጣጠር እንዳለበት ይወስናል። በአሁኑ ጊዜ እስከ አራት የ UART ቻናሎች ይደገፋሉ ስለዚህም አራት ቋሚ ምልክቶች እንደሚከተለው ተገልጸዋል. እነዚህ ኤፒአይዎችን ለቁጥጥር መሠረት የሚያቀርቡ እንደ መለኪያ CH ጥቅም ላይ ይውላሉ።
- UARTM_CH0፡ የግቤት መለኪያ - UART CH0ን ተቆጣጠር ወይም አዋቅር
- UARTM_CH1፡ የግቤት መለኪያ - UART CH1ን ተቆጣጠር ወይም አዋቅር
- UARTM_CH2፡ የግቤት መለኪያ - UART CH2ን ተቆጣጠር ወይም አዋቅር
- UARTM_CH3፡ የግቤት መለኪያ - UART CH3ን ተቆጣጠር ወይም አዋቅር
አንድ የ UART ቻናል ብቻ ጥቅም ላይ ከዋለ የማህደረ ትውስታ ቦታ አይባክንም። ምክንያቱም የሚደገፉት የUART ቻናሎች ቁጥር ሊዋቀር ስለሚችል እና ጥቅም ላይ ያልዋለውን የUART ቻናል ኮድ በቅድመ-ፕሮሰሰር ስለሚወገድ የማህደረ ትውስታ ቦታን ይጨምራል። የኤፒአይ አርክቴክቸር በ ውስጥ ይታያል ምስል 9.
ምስል 9. API Architecture Block Diagram
እያንዳንዱ ኤፒአይ አራት ቡድኖችን ከ UART ሰርጥ ጋር የተገናኙ ቅንብሮችን ወይም መቆጣጠሪያዎችን ያቀፈ ነው ስለዚህም ተጠቃሚዎች የሚፈለገውን የ CH መለኪያ ብቻ ማስገባት አለባቸው። የሚመለከተውን ኤፒአይ ለማዋቀር፣ ተጨማሪ የUART መሰረታዊ የውቅር መለኪያ ሠንጠረዥ ከመዋቅር ቅጹ ጋር፣ USART_InitTypeDef እንዲኖረው ብቻ ያስፈልጋል። በሠንጠረዡ ውስጥ ባለው የመለኪያ ይዘቶች መሰረት ኤፒአይ የ UART መሰረታዊ ውቅረትን ተግባራዊ ያደርጋል። ለ UART መሰረታዊ የውቅር መዋቅር ሠንጠረዥ "ኤፒአይ መግለጫ" የሚለውን ክፍል ይመልከቱ።
የ uart_module.c/.h fileእያንዳንዱ የ UART ቻናል መቋረጥ (CHx_IRQ) እና የሁኔታ ሰንጠረዥ (CHx Status) ብቻ ይይዛል ለ UART ግንኙነት የሚያስፈልጉት ሁሉም መቼቶች በ ht32_board_config.h. በ ht32_board_config.h ውስጥ ያሉ የሃርድዌር ተዛማጅ መለኪያዎች file ከዚህ በታች ባለው ሠንጠረዥ ውስጥ ይታያሉ. ተጨማሪ ዝርዝሮች በ "ቅንብር መግለጫ" ክፍል ውስጥ ቀርበዋል.
በ ht32_board_config.h ውስጥ ያሉት የሃርድዌር አግባብነት ያላቸው መመዘኛዎች I/O settings እና አካላዊ UART ወደብ ቅንጅቶችን እንደሚከተለው ያካትታሉ።
ሠንጠረዥ 3. የፍቺ ምልክቶች በ ht32_board_config.h
ምልክት | መግለጫ |
HTCFG_UARTM_CH0 | አካላዊ UART ወደብ ስም; ምሳሌampለ፡ UART0፣ UART1… |
HTCFG_UARTM0_TX_GPIO_PORT | ለ CH0 የ TX ወደብ ስም ይገልጻል; ምሳሌampለ: A, B, C… |
HTCFG_UARTM0_TX_GPIO_PIN | ለ CH0 የ TX ፒን ቁጥር ይገልጻል; ምሳሌampለ፡ 0-15 |
HTCFG_UARTM0_RX_GPIO_PORT | ለ CH0 የ RX ወደብ ስም ይገልጻል; ምሳሌampለ: A, B, C… |
HTCFG_UARTM0_RX_GPIO_PIN | ለ CH0 የ TX ፒን ቁጥር ይገልጻል; ምሳሌampለ፡ 0-15 |
HTCFG_UARTM0_TX_BUFFER_SIZE | ለCH0 የTX ቋት መጠንን ይገልጻል። ምሳሌampለ: 128 |
HTCFG_UARTM0_RX_BUFFER_SIZE | ለ CH0 የ RX ቋት መጠንን ይገልጻል; ምሳሌampለ: 128 |
የUART ቻናል AFIO ውቅረትን ለመቀየር የሚመለከተውን የመሣሪያ መረጃ ሉህ ይመልከቱ። በአሁኑ ጊዜ UART CH0 ብቻ በ ht0_board_config.h ውስጥ ስለተዋቀረ የ I/O የ UART CH32 ፍቺዎች ብቻ ተግባራዊ ይሆናሉ። UART CH1~3ን ለመጨመር የI/O ፍቺዎቻቸው የ UART CH0 ፍቺን በመጥቀስ ወይም "Setting Modification and FAQs" የሚለውን ክፍል በመጥቀስ መሞላት አለባቸው።
ሶስት የኤፒአይ አርክቴክቸር ዋና ዋና ባህሪያት አሉ፡
- እስከ አራት UART ቻናሎች ይደገፋሉ። የእነርሱ ግቤት መለኪያዎች UARTM_CH0፣ UARTM_CH1፣ UARTM_CH2 እና UARTM_CH3 ናቸው።
- የ UART ቻናሎች ብዛት ሊዘጋጅ ይችላል እና ጥቅም ላይ ያልዋሉ ቻናሎች ያለውን የማህደረ ትውስታ ቦታ አይቀንሱም።
- ሁሉም የUART ቅንጅቶች እና የI/O ትርጓሜዎች ከኤፒአይዎች ሙሉ በሙሉ ተለያይተዋል። ይህ እሴቶችን የማቀናበር የአስተዳደር ምቾትን ይጨምራል እና የተሳሳቱ ወይም የጎደሉ ቅንብሮችን እድል ይቀንሳል።
ቅንብር መግለጫ
ይህ ክፍል በ 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 ማስጀመሪያ ኪት ቅንብር ይዘቶችን ያሳያል። በእድገት ተግባራዊ ውህደት ላይ በመመስረት ተጠቃሚዎች የፒን ፍቺዎችን ለመተግበር ጥቅም ላይ የዋለውን መሳሪያ የውሂብ ሉህ ክፍል "ፒን ምደባ" ክፍልን መመልከት ይችላሉ. ስለ ማዋቀር ማሻሻያ ተጨማሪ ዝርዝሮች በ "Setting modification and FAQs" ክፍል ውስጥ ይገለፃሉ።
ምስል 10. ht32_board_config.h መቼቶች (HT32F52352)
- uart_module.h: ይህ የኤፒአይ ራስጌ ነው። file በመተግበሪያው ኮድ ጥቅም ላይ የዋለ, ተዛማጅ ነባሪ ቅንብሮችን, የተግባር መግለጫዎችን, ወዘተ ያካትታል. በስእል 11 ላይ እንደሚታየው የነባሪ ቅንብር ይዘቶች በውጫዊ ውቅሮች ሊገለበጡ ይችላሉ, ለምሳሌ በ ht32_board_config.h ውስጥ ያሉ ቅንብሮች. file.
ምስል 11. ነባሪ ቅንጅቶች በ uart_module.h
የኤፒአይ መግለጫ
- የመተግበሪያ ኮድ የውሂብ አይነት መግለጫ.
- USART_InitTypeDef
ይህ ከታች እንደሚታየው BaudRate፣ WordLength፣ StopBits፣ Parity እና Mode ውቅሮችን ያቀፈ የUART መሰረታዊ ውቅር መዋቅር ነው።ተለዋዋጭ ስም ዓይነት መግለጫ USART_Baud ተመን u32 UART ግንኙነት baud ተመን USART_የቃል ርዝመት u16 UART የግንኙነት ቃል ርዝመት፡ 7፣ 8 ወይም 9 ቢት USART_StopBits u16 UART የግንኙነት ማቆሚያ የቢት ርዝመት፡ 1 ወይም 2 ቢት USART_Parity u16 የUART ግንኙነት እኩልነት፡ እንኳን፣ ጎዶሎ፣ ምልክት፣ ቦታ ወይም እኩልነት የለም። USART_ሁነታ u16 የ UART የግንኙነት ሁነታ; ኤፒአይዎች መደበኛ ሁነታን ብቻ ይደግፋሉ
- USART_InitTypeDef
- የኤፒአይ ተግባራትን ከመጠቀምዎ በፊት በዋናው ፕሮግራም ውስጥ የ UART መሰረታዊ ውቅረትን ያጠናቅቁ። የዚህ አፕሊኬሽን ኮድ የ UART መሰረታዊ ውቅር በስእል 12 ይታያል። እዚህ የባውድ ፍጥነቱ 115200bps፣ የቃላት ርዝመት 8-ቢት ነው፣ የማቆሚያ ቢት ርዝመት 1-ቢት ነው፣ እና ምንም እኩልነት የለም።
ምስል 12. UART መሰረታዊ ውቅር
- ምስል 13 በ uart_module.h ውስጥ የተገለጹትን የኤፒአይ ተግባራት ያሳያል file. የሚከተሉት ሰንጠረዦች የኤፒአይ ተግባራትን ተግባር፣ የግቤት መለኪያዎች እና አጠቃቀም ያብራራሉ።
ምስል 13. የኤፒአይ ተግባር መግለጫዎች በ uart_module.h
ስም | ባዶ 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 መሰረታዊ ውቅረትን አከናውን//ምስል 12ን ለUSART_InitStructure ውቅር ተመልከት |
ስም | u32 UARTM_WriteByte(u32 CH, u8 uData) | |
ተግባር | UART ሞጁል ባይት ኦፕሬሽን (TX) ይፃፉ | |
ግቤት | CH | UART ቻናል |
uData | መፃፍ ያለበት መረጃ | |
ውፅዓት | ስኬት | ስኬታማ |
ስህተት | አልተሳካም። | |
አጠቃቀም | UARTM_WriteByte(UARTM_CH0፣ 'A'); // UART 1 ባይት - 'A' ይጽፋል |
ስም | u32 UARTM_ጻፍ (u32 CH, u8 *pBuffer, u32 uLength) | |
ተግባር | የ UART ሞዱል የመጻፍ ሥራ (TX) | |
ግቤት | CH | UART ቻናል |
pBuffer | ቋት ጠቋሚ | |
ርዝመት | የሚጻፍበት የውሂብ ርዝመት | |
ውፅዓት | ስኬት | ስኬታማ |
ስህተት | አልተሳካም። | |
አጠቃቀም | u8 ሙከራ[] = "ይህ ፈተና ነው!\r\n"; UARTM_ጻፍ (UARTM_CH0፣ ሙከራ፣የመጠን(ሙከራ) -1); // UART pBuffer ውሂብ ይጽፋል |
ስም | u32 UARTM_ReadByte(u32 CH, u8 *pData) | |
ተግባር | UART ሞጁል የንባብ ባይት አሠራር (RX) | |
ግቤት | CH | UART ቻናል |
pData | የተነበበ ውሂብ ለማስቀመጥ አድራሻ | |
ውፅዓት | ስኬት | ስኬታማ |
ስህተት | አልተሳካም (ምንም ውሂብ የለም) | |
አጠቃቀም | u8 TempData; (UARTM_ReadByte(UARTM_CH0፣ &TempData) == SUCCESS){UARTM_WriteByte(UARTM_CH0፣ TempData))//UARTM_ReadByte() ስኬትን ከመለሰ UART ይህንን ዳታ ባይት ይፅፋል። |
ስም | u32 UARTM_Read(u32 CH, u8 *pBuffer, u32 uLength) | |
ተግባር | UART ሞዱል የማንበብ ሥራ (RX) | |
ግቤት | CH | UART ቻናል |
pBuffer | ቋት ጠቋሚ | |
ርዝመት | የሚነበበው የውሂብ ርዝመት | |
ውፅዓት | የንባብ ብዛት | የመረጃው ርዝመት ተነቧል |
አጠቃቀም | u8 Test2[10]; u32 ሌን; Len = UARTM_Read(UARTM_CH0፣ Test2፣ 5)፤ ከሆነ (ሌንስ > 0){UARTM_ፃፍ(UARTM_CH0፣ Test2፣ Len))//UARTM_Read() 5 ባይት ዳታ ያነባል እና መረጃን ወደ Test2 ያከማቻል እና የተነበበ ባይት ቆጠራን ይመድባል። ለ Len//ከTest2 የተገኘውን መረጃ ይፃፉ |
ስም | u32 UARTM_GetReadBufferLength(u32 CH) | |
ተግባር | የተነበበ ቋት ርዝመት (RX) ያግኙ | |
ግቤት | CH | UART ቻናል |
ውፅዓት | ርዝመት | የቋት ርዝመት አንብብ |
አጠቃቀም | UARTM_Init(UARTM_CH0፣ &USART_InitStructure፣ 40); // UART ሞጁል ማስጀመር ሳለ (UARTM_GetReadBufferLength(UARTM_CH0) < 5);//UARTM_ReadBuffer 5 ባይት ውሂብ እስኪቀበል ድረስ ይጠብቁ |
ስም | u32 UARTM_GetWriteBuffer ርዝመት(u32 CH) | |
ተግባር | የጽሑፍ ቋት ርዝመት (TX) ያግኙ | |
ግቤት | CH | UART ቻናል |
ውፅዓት | ርዝመት | የቋት ርዝመት ጻፍ |
ስም | u8 UARTM_IsTxተጠናቀቀ(u32 CH) | |
ተግባር | የTX ሁኔታን ያግኙ | |
ግቤት | CH | UART ቻናል |
ውፅዓት | እውነት | TX ሁኔታ፡ አልቋል |
ውሸት | የTX ሁኔታ፡ አላለቀም። | |
አጠቃቀም | UARTM_WriteByte(UARTM_CH0፣ 'O'); #if 1 // “uart_module.c” SVN >= 525 የሚፈለግበት ጊዜ (UARTM_IsTxFinished(UARTM_CH0) == FALSE) #ሌላ (1) #መጨረሻ //ይህ ኤፒአይ ከላይ እንደሚታየው የTX ሁኔታን ለመፈተሽ ሊያገለግል ይችላል። UARTM_WriteByte() ኤፒአይ እስኪያጠናቅቅ ድረስ ጠብቅ፣ ማለትም፣ TX ሁኔታ እውነት ነው፣ እና ከዚያ ተከታዮቹን ድርጊቶች ይቀጥሉ።//A ገደብ ታክሏል ምክንያቱም ይህ ተግባር በ uart_module.c ውስጥ ያለው የኤስቪኤን ስሪት ቁጥር 525 እስኪሆን ድረስ አልተጨመረም። |
ስም | ባዶ UARTM_DiscardReadBuffer(u32 CH) | |
ተግባር | በንባብ ቋት ውስጥ ያለውን ውሂብ አስወግድ | |
ግቤት | CH | UART ቻናል |
የኤፒአይ አጠቃቀም ምሳሌampሌስ
ይህ ክፍል ኤፒአይ መጻፍ እና ማንበብ exampየ"Module_UART" አፕሊኬሽን ኮድ የመነሻ ሂደቱን እና "UART_Module_Ex" በመጠቀምample" የመተግበሪያ ኮድ ሂደት. ኤፒአይዎቹን ከመጠቀምዎ በፊት ተጠቃሚዎች የኤፒአይ አርዕስት ማካተት አለባቸው file ወደ ዋናው የፕሮግራም ምንጭ ኮድ file (# "ሚድልዌር/uart_module.h"ን ያካትቱ)።
በስእል 14 እንደሚታየው ወደ ጅምር ሂደት ሲገቡ በመጀመሪያ የUART መሰረታዊ የውቅር መዋቅርን ይግለጹ። ከዚያ BaudRate፣ WordLength፣ StopBits፣ Parity እና Mode ን ጨምሮ የUART መሰረታዊ ውቅር መዋቅር አባላትን ያዋቅሩ። በመጨረሻም የኤፒአይ ማስጀመሪያ ተግባርን ይደውሉ, ማጠናቀቅ የመነሻ ሂደቱን መጨረሻ ያመለክታል. ከዚህ በኋላ ተጠቃሚዎች አስቀድሞ በ UART መሰረታዊ ውቅር ላይ በመመስረት የመፃፍ እና የማንበብ ስራዎችን መቀጠል ይችላሉ።
ምስል 14. የጅማሬ ፍሰት ገበታ
የ«UART_Module_Example” አፕሊኬሽን ኮድ የኤፒአይን የማንበብ እና የመጻፍ ስራዎችን በተዘዋዋሪ መንገድ ያሳያል። የዚህ ፍሰት ገበታ በስእል 15 ይታያል። ጥቅም ላይ የዋሉት የኤፒአይ ተግባራት UARTM_WriteByte()፣ UARTM_Write()፣ UARTM_ReadByte()፣ UARTM_Read() እና UARTM_GetReadBufferLength() ያካትታሉ። የእነሱ መግለጫ በ "API መግለጫ" ክፍል ውስጥ ቀርቧል.
ምስል 15. የመፃፍ እና የማንበብ ወራጅ ገበታ ዘፀampሌስ
በ"Module_UART" አቃፊ ስር ሌላ "UART_Bridge" አፕሊኬሽን ኮድ አለ ተዛማጅነት ያለው file መግለጫ በ "የመመሪያ መዋቅር" ክፍል ውስጥ ቀርቧል. የ"UART_ብሪጅ" አፕሊኬሽን ኮድ ሁለት UART ቻናሎችን፣ UART CH0 እና UART CH1ን ያንቀሳቅሳል፣ እና በሁለቱ UART መሳሪያዎች መካከል ያለውን የግንኙነት ፕሮቶኮል በCOMMAND መዋቅሮች፣ gCMD1 እና gCMD2 ያዘጋጃል። ከታች እንደሚታየው እነዚህ በ uart_bridge.c ውስጥ ተገልጸዋል። UARTBridge_CMD1TypeDef gCMD1፡
ተለዋዋጭ ስም | ዓይነት | መግለጫ |
uheader | u8 | ራስጌ |
ዩሲኤምዲ | u8 | ትዕዛዝ |
ዩዳታ[3] | u8 | ውሂብ |
UARTBridge_CMD2TypeDef gCMD2፡
ተለዋዋጭ ስም | ዓይነት | መግለጫ |
uheader | u8 | ራስጌ |
uCmdA | u8 | ትዕዛዝ ኤ |
uCmdB | u8 | ትዕዛዝ B |
ዩዳታ[3] | u8 | ውሂብ |
በ"UART_Bridge" አፕሊኬሽን ኮድ ውስጥ እንደ የትዕዛዝ ፓኬት መረጃ ለመቀበል gCMD1 ይጠቀሙ እና ከዚያ ይተንትኑት። ከዚያ በተበጀው የግንኙነት ፕሮቶኮል መሰረት gCMD2 እንደ የምላሽ ፓኬት ያዘጋጁ እና ያሰራጩት። የሚከተለው የቀድሞ ነውampየትእዛዝ ፓኬት gCMD1) እና የምላሽ ጥቅል (gCMD2)። የትእዛዝ ፓኬት (UARTBridge_CMD1TypeDef gCMD1):
ባይት 0 | ባይት 1 | ባይት 2 ~ ባይት 4 |
uheader | ዩሲኤምዲ | ዩዳታ [3] |
"ሀ" | "1" | "x, y, z" |
የምላሽ ፓኬት (UARTBridge_CMD2TypeDef gCMD2)፦
ባይት 0 | ባይት 1 | ባይት 2 | ባይት 3 ~ ባይት 5 |
uheader | uCmdA | uCmdB | ዩዳታ [3] |
"ለ" | "ሀ" | "1" | "x, y, z" |
የንብረት ሥራ
HT32F52352ን እንደ አንድ የቀድሞ መውሰድample, በ UART ሞጁል የተያዙ ሀብቶች ከዚህ በታች ይታያሉ.
HT32F52352 | |
የሮም መጠን | 946 ባይት |
የ RAM መጠን | 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 ማስጀመሪያ ኪት እንደ የቀድሞ ይጠቀማልample |
የዩኤስቢ ገመድ | 1 | ማይክሮ ዩኤስቢ፣ ከፒሲ ጋር የተገናኘ |
የመተግበሪያ ኮድ | — | የማውረድ መንገድ፣ file እና የማውጫ ውቅር በ "ንብረት ማውረድ እና ዝግጅት" ክፍል ውስጥ አስተዋውቀዋል። ዱካ: "\\ መተግበሪያ \ ሞዱል_UART \ UART_Module_Exampለ ” |
ቴራ ተርም | — | ወደ “ተርሚናል ሶፍትዌር” ክፍል ይመልከቱ |
Keil IDE | — | Keil uVision V5.xx |
በመጀመሪያ፣ ለUART መተግበሪያ መግቢያ የHT32F52352 ማስጀመሪያ ኪት ከኢ-ሊንክ 32 ሊት ከቨርቹዋል COM Port (VCP) ተግባር ጋር ተዳምሮ ይጠቀሙ። ይህንን ተግባራዊ ለማድረግ የሚከተሉትን የአካባቢ ዝግጅት ይጠይቃል።
- በቦርዱ ላይ ሁለት የዩኤስቢ መገናኛዎች አሉ። በስእል 32 (ሀ) ላይ እንደሚታየው ፒሲውን እና eLink16 Lite በይነገጽን በቦርዱ ላይ ለማገናኘት የዩኤስቢ ገመዱን ይጠቀሙ።
- አፕሊኬሽኑ ኮድ የ e-Link32 Lite Virtual COM Port (VCP) ተግባርን መጠቀም ስለሚያስፈልገው የ UART Jumper-J2*2 PAx*1 እና DAP_Tx መዝለያ በመጠቀም ማጠር መደረጉን ያረጋግጡ። የ J2 ቦታ በስእል 16 (ለ) ይገለጻል.
ማስታወሻ
- በጀማሪ ኪት ላይ J2 ሁለት አማራጮች አሉት PAx እና DAP_Tx shorted ወይም PAx and RS232_Tx shorted። ለዝርዝር ቅንብር ተግባራት የጀማሪ ኪት ተጠቃሚ መመሪያን ይመልከቱ።
- በተለያዩ ማስጀመሪያ ኪት ላይ ያለው የMCU UART RX ፒን መገኛ የተለያዩ ናቸው። ይህ ለምሳሌample የ RX ፒን ለማመልከት PAx ይጠቀማል።
ምስል 16. HT32 ማስጀመሪያ ኪት እገዳ ንድፍ
አሁን የተጠቃሚ ኢላማ ሰሌዳውን ከኢ-ሊንክ32 ፕሮ ከቨርቹዋል COM Port (VCP) ተግባር ጋር ለ UART መተግበሪያ መግቢያ ተጠቀም። ይህንን ተግባራዊ ለማድረግ የሚከተሉትን የአካባቢ ዝግጅት ይጠይቃል።
- የ e-Link32 Pro አንድ ጎን ሚኒ ዩኤስቢ ገመድ ተጠቅሞ ከፒሲ ጋር የተገናኘ ሲሆን ሌላኛው ወገን ደግሞ ባለ 10 ቢት ግራጫ ገመድ ከተጠቃሚ ኢላማ ሰሌዳ ጋር የተገናኘ ነው። በስእል 17- (ሀ) እንደሚታየው በኬብሉ እና በዒላማ ሰሌዳው የ SWD መገናኛዎች መካከል ያለው ግንኙነት Dupont መስመሮችን በመጠቀም ይተገበራል ።
- የ e-Link32 Pro ተከታታይ የመገናኛ ፒን ፒን # 7 VCOM_RXD እና ፒን # 8- VCOM_TXD ናቸው። እነዚህ በስእል 17- (ለ) እንደሚታየው ከተጠቃሚው ኢላማ ቦርድ TX እና RX ፒን ጋር መገናኘት አለባቸው።
ምስል 17. e-Link32 Pro + የተጠቃሚ ዒላማ ቦርድ አግድ ንድፍ
ማጠናቀር እና ሙከራ
ይህ ክፍል “መተግበሪያ\ሞዱል_UART\UART_Module_Example" እንደ exampየማጠናቀር እና የሙከራ ሂደቶችን ለማስተዋወቅ። ከዚህ በፊት በቀደመው ክፍል የተገለጹት ሁሉም ዝግጅቶች መተግበራቸውን እና የቴራ ቴርም ተርሚናል ሶፍትዌር መጫኑን ያረጋግጡ።
ዝርዝር የአሠራር ደረጃዎች ከዚህ በታች ተዘርዝረዋል.
ደረጃ 1. የማብራት ሙከራ
በቀደመው ክፍል ላይ እንደተገለፀው የሃርድዌር አካባቢን ያዘጋጁ. ከማብራት በኋላ፣ በ Starter Kit ታችኛው ግራ ላይ ያለው የD9 ኃይል LED ይበራል። ከላይ በቀኝ በኩል ባለው e-Link1 Lite ላይ ያለው D32 USB LED የዩኤስቢ ቆጠራው ካለቀ በኋላ ይበራል። D1 ከረዥም ጊዜ በኋላ ካልበራ የዩኤስቢ ገመድ መገናኘት መቻሉን ያረጋግጡ። ካልሆነ ከዚያ ያስወግዱት እና እንደገና ያስገቡት።
ደረጃ 2. ፕሮጀክት ይፍጠሩ
አፕሊኬሽኑን ይክፈቱ\Module_UART\UART_Module_Example አቃፊ, _CreateProject.bat ላይ ጠቅ ያድርጉ file ፕሮጀክት ለማመንጨት በስእል 18 ላይ እንደሚታየው ይህ የመተግበሪያ ማስታወሻ HT32F52352 ማስጀመሪያ ኪት ስለሚጠቀም በMDK_ARMv52352 አቃፊ ስር የሚገኘውን "Project_5.uvprojx" የሚለውን የ Keil IDE ፕሮጀክት ይክፈቱ።
ምስል 18. ፕሮጀክት ለማመንጨት _CreateProject.bat ን ያስፈጽሙ
ደረጃ 3. ማጠናቀር እና ፕሮግራም
ፕሮጀክቱ ከተከፈተ በኋላ በመጀመሪያ "ግንባታ" ን ጠቅ ያድርጉ (ወይም አቋራጭ "F7" ይጠቀሙ) ከዚያም "አውርድ" ን ጠቅ ያድርጉ (ወይም "F8" አቋራጭ ይጠቀሙ). ከዚህ በኋላ የግንባታ እና የማውረድ ውጤቶቹ በግንባታ ውፅዓት መስኮት ውስጥ ይታያሉ. ምስል 19 ይመልከቱ።
ምስል 19. ውጤቶችን ይገንቡ እና ያውርዱ
ደረጃ 4. የ Tera Term ሶፍትዌር ይክፈቱ እና ተከታታይ ወደቡን ያዋቅሩ
የ Tera Term ሶፍትዌር እና የ COM ወደብ ይክፈቱ። በአስጀማሪ ኪት የተፈጠረው የ COM ወደብ ቁጥር ትክክል ነው ወይስ አይደለም የሚለውን ትኩረት ይስጡ። ከዚያም ወደ ማዋቀር በይነገጽ ለመግባት "Setup >> Serial Port" የሚለውን ይጫኑ. የ "Module_UART" የመተግበሪያ ኮድ የ UART በይነገጽ ውቅር በ "ተርሚናል ሶፍትዌር" ክፍል ውስጥ ተገልጿል. የማዋቀር ውጤቱ በስእል 20 ይታያል።
ምስል 20. የቴራ ተርም ተከታታይ ወደብ ማዋቀር ውጤት
ደረጃ 5. ስርዓቱን እንደገና ያስጀምሩ እና ይፈትሹ
የ SK ዳግም ማስጀመሪያ ቁልፍን ተጫን - B1 ዳግም አስጀምር. ከዚህ በኋላ “ኤቢሲ ይህ ፈተና ነው!” መልእክት ይሆናል።
በኤፒአይ የሚተላለፍ እና በስእል 21 ላይ እንደሚታየው በ Tera Term መስኮት ውስጥ ይታያል። የመቀበያ ተግባርን በተመለከተ፣ ወደ Tera Term መስኮት ውሂብ በሚያስገቡበት ጊዜ፣ የሚመለከተው ኤፒአይ የመቀበያ ቋት ርዝመትን ለመወሰን ጥቅም ላይ ይውላል። በፒሲ የተቀበለው መረጃ 5 ባይት ሲደርስ, የተቀበለው 5 ባይት ውሂብ በቅደም ተከተል ይላካል. በስእል 22 ላይ እንደሚታየው, በቅደም ተከተል የገባው መረጃ "1, 2, 3, 4, 5" ነው, እሱም በኤፒአይ በኩል ተቀብሎ ይወሰናል. ከዚህ በኋላ "1, 2, 3, 4, 5" መረጃው ከአምስቱ ግብዓቶች በኋላ ይታተማል.
ምስል 21. "Module_UART" የመተግበሪያ ኮድ ተግባራዊ ሙከራ - ያስተላልፉ
ምስል 22. "Module_UART" የመተግበሪያ ኮድ ተግባራዊ ሙከራ - ተቀበል
ትራንስፕላንት መመሪያዎች
ይህ ክፍል ኤፒአይዎችን ከተጠቃሚው ፕሮጀክቶች ጋር እንዴት እንደሚያዋህድ ያስተዋውቃል።
ደረጃ 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. የኤፒአይ ራስጌን ያካትቱ file በስእል 25 እንደሚታየው የ main.c መጀመሪያ ላይ።
ምስል 25. የኤፒአይ ራስጌን ያካትቱ File ወደ ዋና.c
ደረጃ 4. ht32_board_config.h በመጠቀም ለ UART ግንኙነት የሚያስፈልጉትን መቼቶች ተግባራዊ ያድርጉ file. ይህ በ "Setting Description" እና "Setting Modification and FAQs" ክፍሎች ውስጥ በዝርዝር ቀርቧል።
ማሻሻያ እና የሚጠየቁ ጥያቄዎችን ማቀናበር
ይህ ክፍል የ UART መቼቶችን እንዴት ማሻሻል እንደሚቻል ያስተዋውቃል እና በአጠቃቀም ወቅት ያጋጠሙ አንዳንድ የተለመዱ ጥያቄዎችን ያብራራል።
የ UART ፒን ምደባን ቀይር
- የHT32F52352 የውሂብ ሉህ "ፒን ምደባ" ምዕራፍን በመጥቀስ የመሣሪያውን አይነት የ AFIO ተግባራትን የሚዘረዝር የአማራጭ ተግባር ካርታ ሰንጠረዥን ይመልከቱ። በስእል 6 ላይ እንደሚታየው ለ UART ተዛማጅ ፒን "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ን እንደ የቀድሞ በመውሰድ ላይampአዲስ የ UART ቻናል እንዴት እንደሚታከል እዚህ ተብራርቷል።
ht32_board_config.h አስተካክል። file
የHT32F52352 የውሂብ ሉህ "ፒን ምደባ" ምዕራፍን በመጥቀስ የመሣሪያውን አይነት የ AFIO ተግባራትን የሚዘረዝር የአማራጭ ተግባር ካርታ ሰንጠረዥን ይመልከቱ። USART1 እንደ HTCFG_UARTM_CH0 ጥቅም ላይ እንደዋለ፣ አዲስ የተጨመረው HTCFG_UARTM_CH1 USART0ን መምረጥ ይችላል። እዚህ የ TX እና RX ፒን በፒኤ2 እና በፒኤ3 ላይ ተቀምጠዋል በስእል 28 የላይኛው ግማሽ ላይ እንደሚታየው ተጓዳኝ ማሻሻያዎቹ በ ht120_board_config.h ውስጥ በ ኮድ መስመሮች 126 ~ 32 ተተግብረዋል ። 28.
ምስል 28. የ UART ቻናል አክል
የሚጠየቁ ጥያቄዎች
Q: በማጠናቀር እና በሙከራ ክፍል ደረጃ 5፣ የማስተላለፊያው ተግባራዊ ሙከራ የተለመደ ነው። እዚህ፣ “ኤቢሲ ይህ ፈተና ነው!” መልእክት በተሳካ ሁኔታ ታይቷል፣ ነገር ግን ለተቀባዩ ተግባር፣ ለምን አምስቱ የግብአት እሴቶች አልተመለሱም እና አይታዩም?
A: የMCU UART RX እና DAP_Tx የUART Jumper-J2 ፒን መዝለልን በመጠቀም ማጠር አለመደረጉን ያረጋግጡ። የ"Module_UART" አፕሊኬሽን ኮድ የe-Link32 Lite ቨርቹዋል COM Port (VCP) መጠቀም እንደሚያስፈልገው፣ በስእል 2 እንደሚታየው የአጭር-ሰርኩይቱ መቼት በግራ ሁለት የ UART Jumper-J29 ፒን ላይ መተግበር አለበት።
ምስል 29. UART Jumper-J2 ቅንብር
ጥ: በኋላ “ግንባ” (ወይም አቋራጭ “F7”)ን በማስፈጸም የጽኑዌር ቤተ መፃህፍቱ ከሚፈለገው በላይ መሆኑን የሚያመለክት የስህተት መልእክት ታየ? ምስል 30 ይመልከቱ።
A: የ«Module_UART» መተግበሪያ ኮድ ትግበራ uart_module.c/h ማካተት አለበት። fileለተወሰነ የጽኑ ትዕዛዝ ቤተ-መጽሐፍት ስሪት መስፈርት ያለው። እንደዚህ አይነት የስህተት መልእክት ሲመጣ አሁን ጥቅም ላይ የዋለው የጽኑ ትዕዛዝ ቤተ-መጽሐፍት የቆየ ስሪት ነው ማለት ነው። ስለዚህ አዲሱን ስሪት በ "Firmware Library" ክፍል ውስጥ በተሰጠው አገናኝ በኩል ማውረድ አስፈላጊ ነው.
ምስል 30. የጽኑ ትዕዛዝ ቤተ መፃህፍት ሥሪት የስህተት መልእክት
ማጠቃለያ
ይህ ሰነድ ተጠቃሚዎች ስለ "Module_UART" የመተግበሪያ ኮድ እና የUART ግንኙነት ፕሮቶኮል የተሻለ ግንዛቤ እንዲኖራቸው ለመርዳት መሰረታዊ መግቢያን ሰጥቷል። ይህን ተከትሎ የመርጃው ማውረድ እና ዝግጅት ተደርጓል. የተግባር መግለጫ ምዕራፍ አስተዋውቋል file የማውጫ መዋቅር፣ የኤፒአይ አርክቴክቸር፣ የኤፒአይ መግለጫ እና የኤፒአይ አጠቃቀም ምሳሌampሌስ. የአጠቃቀም መመሪያው ምዕራፍ የ"Module_UART" አፕሊኬሽን ኮድ የአካባቢ ዝግጅት፣ ማጠናቀር እና መፈተሽ አሳይቷል። በተጨማሪም ኮድ ትራንስፕላንት እና ማሻሻያ ቅንብር መመሪያዎችን ሰጥቷል እንዲሁም ሊያጋጥሙ የሚችሉ አንዳንድ የተለመዱ ችግሮች በማብራራት. እነዚህ ሁሉ ጥምር ተጠቃሚዎች ኤፒአይዎችን እንዴት እንደሚጠቀሙ በፍጥነት እንዲረዱ እና በመቀጠል ለመጀመር የሚወስደውን ጊዜ እንዲቀንሱ ያስችላቸዋል።
የማጣቀሻ ቁሳቁስ
ለበለጠ መረጃ፣ሆልቴክን ይመልከቱ webጣቢያ: www.holtek.com
ስሪቶች እና የማሻሻያ መረጃ
ቀን | ደራሲ | መልቀቅ | የማሻሻያ መረጃ |
2022.04.30 | 蔡期育(ቺ-ዩ ታይ) | ቪ1.00 | የመጀመሪያ ስሪት |
ማስተባበያ
በዚህ ላይ የሚታዩ ሁሉም መረጃዎች፣ የንግድ ምልክቶች፣ አርማዎች፣ ግራፊክስ፣ ቪዲዮዎች፣ የድምጽ ቅንጥቦች፣ አገናኞች እና ሌሎች ነገሮች webሳይት ('መረጃ') ለማጣቀሻ ብቻ ነው እና በማንኛውም ጊዜ ያለቅድመ ማስታወቂያ እና በሆልቴክ ሴሚኮንዳክተር Inc. እና በተዛማጅ ኩባንያዎች ውሳኔ (ከዚህ በኋላ 'ሆልቴክ'፣ 'ኩባንያው'፣ 'እኛ'፣' ሊቀየር ይችላል። እኛ ወይም 'የእኛ')። ሆልቴክ በዚህ ላይ ያለውን መረጃ ትክክለኛነት ለማረጋገጥ ጥረት እያደረገ ነው። webጣቢያ፣ ለመረጃው ትክክለኛነት በሆልቴክ ግልጽ ወይም የተዘዋዋሪ ዋስትና አይሰጥም። ሆልቴክ ለማንኛውም ስህተት ወይም ፍሳሽ ምንም አይነት ሃላፊነት አይወስድም።
Holtek ከዚህ አጠቃቀም ጋር በተያያዘ ለሚደርስ ማንኛውም ጉዳት (የኮምፒዩተር ቫይረስ፣ የስርዓት ችግር ወይም የውሂብ መጥፋትን ጨምሮ) ተጠያቂ አይሆንም። webበማንኛውም ፓርቲ ጣቢያ. በዚህ አካባቢ አገናኞች ሊኖሩ ይችላሉ, ይህም ለመጎብኘት ያስችልዎታል webየሌሎች ኩባንያዎች ጣቢያዎች.
እነዚህ webጣቢያዎች በሆልቴክ ቁጥጥር ስር አይደሉም። ሆልቴክ ምንም አይነት ሃላፊነት አይሸከምም እና ምንም አይነት መረጃ በነዚህ ጣቢያዎች ላይ ለሚታዩት ምንም አይነት ዋስትና አይሰጥም። ከሌሎች ጋር አገናኞች webጣቢያዎች በራስዎ ሃላፊነት ላይ ናቸው.
የተጠያቂነት ገደብ
በምንም ሁኔታ ሆልቴክ ሊሚትድ ከዚህ አጠቃቀምህ ጋር በተያያዘ በቀጥታም ሆነ በተዘዋዋሪ ላደረሰው ጉዳት ወይም ጉዳት በማንኛዉም አካል ተጠያቂ አይሆንም። webጣቢያ፣ በውስጡ ያለው ይዘት ወይም ማንኛውም እቃዎች፣ እቃዎች ወይም አገልግሎቶች።
የአስተዳደር ህግ
በ ውስጥ የተካተተ የክህደት ቃል webቦታው በቻይና ሪፐብሊክ ህግ መሰረት የሚተዳደር እና የሚተረጎም መሆን አለበት. ተጠቃሚዎች ለቻይና ሪፐብሊክ ፍርድ ቤቶች ልዩ ላልሆነ የዳኝነት ስልጣን ያቀርባሉ።
የክህደት ማዘመን
ሆልቴክ የኃላፊነት ማስተባበያውን በማንኛውም ጊዜ ያለቅድመ ማስታወቂያ የማዘመን መብቱ የተጠበቀ ነው፣ ሁሉም ለውጦች ወዲያውኑ ወደ ማስታወቂያው ሲለጠፉ ወዲያውኑ ተግባራዊ ይሆናሉ። webጣቢያ.
ሰነዶች / መርጃዎች
![]() |
HOLTEK HT32 MCU UART መተግበሪያ ማስታወሻ [pdf] የተጠቃሚ መመሪያ HT32 MCU፣ UART መተግበሪያ ማስታወሻ፣ HT32 MCU UART፣ የመተግበሪያ ማስታወሻ፣ HT32፣ MCU UART መተግበሪያ ማስታወሻ፣ HT32 MCU UART የመተግበሪያ ማስታወሻ |