HOLTEK HT32 MCU UART යෙදුම් සටහන පරිශීලක අත්පොත
HOLTEK HT32 MCU UART යෙදුම් සටහන

හැඳින්වීම

Universal Asynchronous Receiver/Transmitter - UART යනු නම්‍යශීලී අසමමුහුර්ත පූර්ණ ද්විත්ව දත්ත සම්ප්‍රේෂණය සපයන බහුලව භාවිතා වන අනුක්‍රමික සම්ප්‍රේෂණ අතුරුමුහුණතකි. මෙම යෙදුම් සටහනේ සපයා ඇති "Module_UART" යෙදුම් කේතය API හරහා සරල UART සම්ප්‍රේෂණ/ලැබීමේ ශ්‍රිත ක්‍රියාත්මක කිරීමට මෘදුකාංග වළලු බෆර සමඟ TX/RX බාධා කිරීම් භාවිතා කරයි, එහි අදාළ කාර්යයන් පහත විස්තර කෙරේ. මෙය සමස්ත දත්ත සම්ප්‍රේෂණ ක්‍රියාවලිය සරල කරන අතර UART සන්නිවේදන යෙදුම් ඉක්මනින් තේරුම් ගැනීමට සහ ක්‍රියාත්මක කිරීමට පරිශීලකයින්ට ඉඩ සලසයි.

  • සම්ප්‍රේෂණය/ලැබීමේ කාර්යයන්: බයිට් කියවීම, බයිට් ලිවීම, බෆරය කියවීම, බෆරය ලිවීම, ආදිය.
  • තත්ව කාර්යයන්: බෆර දිග, TX තත්ත්වය, ආදිය ලබා ගන්න.

මෙම ලේඛනය ප්‍රථමයෙන් UART සන්නිවේදන ප්‍රොටෝකෝලය හඳුන්වා දෙනු ඇත, එය UART සන්නිවේදනය මූලධර්මයෙන් යෙදුමට වඩා හොඳින් අවබෝධ කර ගැනීමට පරිශීලකයින්ට උපකාර කරයි. ස්ථිරාංග පුස්තකාලය, යෙදුම් කේත බාගැනීම, ඇතුළුව යෙදුම් කේතය සඳහා අවශ්‍ය සම්පත් බාගත කිරීම සහ සකස් කිරීම මෙය අනුගමනය කරයි. file සහ නාමාවලි වින්‍යාසය මෙන්ම යෙදුම් සටහනේ භාවිතා කරන ටර්මිනල් මෘදුකාංග මෙවලම පිළිබඳ හැඳින්වීමක්. ක්‍රියාකාරී විස්තර පරිච්ඡේදයේ, යෙදුම් කේත නාමාවලි ව්‍යුහය, පරාමිති සැකසුම් සහ API විස්තරය හඳුන්වා දෙනු ලැබේ. API භාවිතය “Module_UART” යෙදුම් කේතය භාවිතයෙන් විස්තර කෙරෙන අතර API සඳහා අවශ්‍ය Flash/RAM සම්පත් පරිභෝජනයද ලැයිස්තුගත කෙරේ. යෙදුම් කේතය නිවැරදිව ක්‍රියාත්මක වන බව තහවුරු කිරීම සඳහා භාවිතා කිරීම සඳහා වන උපදෙස් පරිච්ඡේදය මඟින් පාරිසරික සූදානම, සම්පාදනය සහ පරීක්‍ෂණය යන පියවර හරහා පරිශීලකයාට මග පෙන්වනු ඇත. එය පසුව පරිශීලකයාගේ ව්‍යාපෘතිවලට API ඒකාබද්ධ කරන්නේ කෙසේද යන්න පැහැදිලි කරන උපදෙස් සපයන අතර අවසානයේ මුහුණ දීමට සිදු විය හැකි වෙනස් කිරීම් සහ පොදු ගැටළු සඳහා යොමු කිරීමක් සපයයි.

භාවිතා කරන කෙටි යෙදුම්: 

  • UART: විශ්ව අසමමුහුර්ත ග්‍රාහකය/සම්ප්‍රේෂකය
  • API: යෙදුම් ක්‍රමලේඛන අතුරු මුහුණත
  • LSB: අවම සැලකිය යුතු බිට්
  • MSB: වඩාත්ම වැදගත් බිට්
  • පළාත් සභා: පුද්ගලික පරිගණකය
  • එස්.කේ: ආරම්භක කට්ටලය, HT32 සංවර්ධන මණ්ඩලය
  • IDE: ඒකාබද්ධ සංවර්ධන පරිසරය

UART සන්නිවේදන ප්‍රොටෝකෝලය

UART යනු එහි සම්ප්‍රේෂකයේ සමාන්තර-අනුක්‍රමික දත්ත පරිවර්තනය ක්‍රියාත්මක කරන අනුක්‍රමික සන්නිවේදන අතුරු මුහුණතක් වන අතර පසුව සමාන ග්‍රාහකයක් සමඟ අනුක්‍රමිකව සන්නිවේදනය කරයි. දත්ත ලැබීමෙන් පසු ග්‍රාහකයා අනුක්‍රමික-සමාන්තර දත්ත පරිවර්තනයක් සිදු කරයි. රූප සටහන 1 හි දැක්වෙන්නේ දත්ත බිට්වයිස් අනුපිළිවෙලකට මාරු කරන ආකාරය පෙන්වන අනුක්‍රමික සන්නිවේදනයේ ක්‍රමානුරූප රූප සටහනකි. එබැවින් සම්ප්‍රේෂකය සහ ග්‍රාහකය අතර ද්විපාර්ශ්වික සන්නිවේදනය සඳහා TX සහ RX යන වයර් දෙකක් පමණක් එකිනෙකට අනුක්‍රමිකව දත්ත මාරු කිරීමට අවශ්‍ය වේ. TX යනු UART අනුක්‍රමික දත්ත සම්ප්‍රේෂණය කරන සහ ග්‍රාහකයේ RX පින් එකට සම්බන්ධ කරන පින් එකයි. එබැවින් සම්ප්‍රේෂක සහ ග්‍රාහක උපාංග UART ද්වි-මාර්ග සන්නිවේදනය සිදු කිරීම සඳහා ඔවුන්ගේ TX සහ RX පින් හරස් සම්බන්ධ කිරීමට අවශ්‍ය වේ. රූපය 2.

රූපය 1. අනුක්රමික සන්නිවේදන රූප සටහන
අනුක්රමික සන්නිවේදන රූප සටහන

රූපය 2. UART පරිපථ සටහන
UART පරිපථ සටහන

UART අනුක්‍රමික සන්නිවේදනය අතරතුර, දත්ත සම්ප්‍රේෂණය අසමමිතික වේ. මෙයින් අදහස් වන්නේ සම්ප්රේෂකය සහ ග්රාහකයා අතර ඔරලෝසුවක් හෝ වෙනත් සමමුහුර්ත සංඥාවක් නොමැති බවයි. මෙහිදී බෝඩ් අනුපාතයක් භාවිතා වේ, එය අනුක්‍රමික දත්ත සම්ප්‍රේෂණ/ලැබීමේ වේගය වන අතර එය දත්ත මාරු කිරීමට පෙර දෙපැත්තෙන්ම සකසා ඇත. මීට අමතරව, සම්පූර්ණ UART දත්ත පැකට්ටුවක් සෑදීම සඳහා දත්ත පැකට්ටුවේ ආරම්භයට සහ අවසානයට ආරම්භක සහ නැවතුම් බිටු වැනි විශේෂ බිටු එකතු කරනු ලැබේ. රූපය 3 UART දත්ත පැකට් ව්‍යුහය පෙන්වන අතර රූප සටහන 4 හි සමානාත්මතා බිට් එකක් නොමැතිව UART 8-bit දත්ත පැකට්ටුවක් පෙන්වයි.
රූපය 3. UART දත්ත පැකට් ව්යුහය
UART දත්ත පැකට් ව්යුහය

රූපය 4. UART 8-bit Data Packet Format
දත්ත පැකට් ආකෘතිය
UART දත්ත පැකට්ටුවේ සෑම කොටසක්ම පහත අනුපිළිවෙලින් හඳුන්වා දෙනු ලැබේ.

  • ආරම්භක බිට්: මෙය දත්ත පැකට්ටුවක ආරම්භය පෙන්නුම් කරයි. සම්ප්‍රේෂණය ආරම්භ වීමට පෙර UART TX පින් සාමාන්‍යයෙන් ඉහළ තාර්කික මට්ටමක පවතී. දත්ත සම්ප්‍රේෂණය ආරම්භ වන්නේ නම්, UART සම්ප්‍රේෂකය TX පින් එක ඉහළ සිට පහළට, එනම් 1 සිට 0 දක්වා ඇදගෙන, පසුව එය එක් ඔරලෝසු චක්‍රයක් සඳහා රඳවා තබා ගනී. RX පින් මත ඉහළ සිට පහළ දක්වා සංක්‍රමණයක් අනාවරණය වූ විට UART ග්‍රාහකය දත්ත කියවීම ආරම්භ කරයි.
  • දත්ත: මෙය බිටු 7, 8 හෝ 9 ක දත්ත දිගකින්, මාරු කරන ලද සත්‍ය දත්ත වේ. දත්ත සාමාන්‍යයෙන් පළමුව LSB සමඟ මාරු කරනු ලැබේ.
  • සමානාත්මතාවය බිට්: සම්ප්‍රේෂණය අතරතුර කිසියම් දත්තයක් වෙනස් වී ඇත්ද යන්න තීරණය කිරීම සඳහා දත්තවල ඇති තාර්කික "1" අංකය භාවිතා කරයි. ඉරට්ටේ සමානාත්මතාවය සඳහා, දත්තවල ඇති මුළු තාර්කික සංඛ්‍යාව ඉරට්ටේ සංඛ්‍යාවක් විය යුතුය, අනෙක් අතට, දත්තවල ඇති මුළු තාර්කික “1” ඔත්තේ සමානාත්මතාවය සඳහා ඔත්තේ සංඛ්‍යාවක් විය යුතුය.
  • නැවතුම් බිට්: මෙය දත්ත පැකට්ටුවක අවසානය පෙන්නුම් කරයි, එහිදී UART සම්ප්‍රේෂකය TX පින් එක පහත් සිට ඉහළට, එනම් 0 සිට 1 දක්වා ඇදගෙන, පසුව එය 1 හෝ 2-bit කාල සීමාවක් එහි රඳවා තබා ගනී.

පෙර සඳහන් කළ පරිදි, UART පරිපථයේ ඔරලෝසු සංඥාවක් නොමැති බැවින්, දෝෂ රහිත සම්ප්‍රේෂණය ක්‍රියාත්මක කිරීම සඳහා සම්ප්‍රේෂකය සහ ග්‍රාහකය අතර baud අනුපාතය ලෙස හැඳින්වෙන එකම අනුක්‍රමික දත්ත සම්ප්‍රේෂණ / ලැබීමේ වේගය අර්ථ දැක්විය යුතුය. බෝඩ් අනුපාතය තත්පරයකට මාරු කරන ලද බිටු ගණන, bps (තත්පරයට බිට්) මගින් අර්ථ දැක්වේ. සමහර සම්මත සහ බහුලව භාවිතා වන baud අනුපාත 4800bps, 9600bps, 19200bps, 115200bps, ආදිය වේ. තනි දත්ත බිට් එකක් මාරු කිරීම සඳහා අවශ්‍ය අනුරූප කාලය පහත දැක්වේ.
වගුව 1. Baud Rate එදිරිව 1-Bit සම්ප්‍රේෂණ කාලය 

Baud අනුපාතය 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. අවශ්‍ය දේ බාගත කර unzip කරන්න file.

සිප් එක file ලේඛනය, ස්ථිරාංග පුස්තකාලය, මෙවලම් සහ අනෙකුත් අයිතම ලෙස වර්ග කළ හැකි ෆෝල්ඩර කිහිපයක් අඩංගු වේ, එහි ස්ථානගත කිරීමේ මාර්ගය රූප සටහන 5 හි පෙන්වා ඇත. HT32 ස්ථිරාංග පුස්තකාල zip file සමඟ file HT32_STD_xxxxx_FWLib_Vm.n.r_s.zip හි නම Firmware_Library ෆෝල්ඩරය යටතේ පිහිටා ඇත.

රූපය 5. HT32_M0p_Vyyyymmdd.zip අන්තර්ගතය
අන්තර්ගතය

යෙදුම් කේතය
පහත සබැඳියෙන් යෙදුම් කේතය බාගන්න. යෙදුම් කේතය 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, යෙදුම් කේතය සහ ස්ථිරාංග පුස්තකාලය ඉවත් කරන ලදී fileසම්පාදනය ආරම්භ කිරීමට පෙර නිවැරදි මාර්ගයේ තැබිය යුතුය. යෙදුම් කේතය zip file සාමාන්‍යයෙන් රූප සටහන 7 හි පෙන්වා ඇති පරිදි යෙදුම් සහ පුස්තකාලය වැනි ෆෝල්ඩර එකක් හෝ කිහිපයක් අඩංගු වේ. සම්පූර්ණ කිරීම සඳහා යෙදුම් ෆෝල්ඩරය HT32 ස්ථිරාංග පුස්තකාල මූල නාමාවලිය යටතේ තබන්න. file මාර්ග වින්‍යාසය, රූප සටහන 8 හි පෙන්වා ඇති පරිදි. විකල්පයක් ලෙස, එකම වින්‍යාස ප්‍රතිඵල ලබා ගැනීම සඳහා යෙදුම් කේතය සහ HT32 ස්ථිරාංග පුස්තකාලය එකම මාර්ගයකට එකවර විසන්ධි කරන්න.

රූපය 7. HT32_APPFW_xxxxx_APPCODENAME_Vm.n.r_s.zip අන්තර්ගතය
අන්තර්ගතය

රූපය 8. අවපීඩන මාර්ගය
විසංයෝජන මාර්ගය

පර්යන්ත මෘදුකාංග
යෙදුම් කේතයට කාර්යය තේරීම හෝ තත්ත්‍ව සංදර්ශකය ක්‍රියාත්මක කිරීම සඳහා COM වරාය හරහා පණිවිඩ මාරු කළ හැක. මේ සඳහා සත්කාරක පාර්ශවය විසින් ටර්මිනල් මෘදුකාංගය කල්තියා ස්ථාපනය කර තිබීම අවශ්‍ය වේ. පරිශීලකයින්ට සුදුසු සම්බන්ධතා මෘදුකාංගයක් තෝරාගත හැක, නැතහොත් Tera Term වැනි නොමිලේ බලපත්‍රලාභී මෘදුකාංග භාවිතා කරන්න. යෙදුම් කේතයේ, UART නාලිකාව වින්‍යාස කර ඇත්තේ 8-බිට් වල වචන දිගකින්, සමානාත්මතාවයකින් තොරව, 1 නැවතුම් බිටුයකින් සහ 115200bps බෝඩ් අනුපාතයකින්.

ක්රියාකාරී විස්තරය

මෙම පරිච්ඡේදය ඩිරෙක්ටරි ව්‍යුහය, API ගෘහ නිර්මාණ ශිල්පය, සැකසුම් විස්තරය යනාදිය පිළිබඳ තොරතුරු ඇතුළුව යෙදුම් කේතය සඳහා ක්‍රියාකාරී විස්තරයක් සපයනු ඇත.

නාමාවලි ව්යුහය
යෙදුම් කේතය file යෙදුම් ෆෝල්ඩරයක් අඩංගු වේ. මීළඟ ස්ථරය වන්නේ “UART_Module_Ex” යෙදුම් වැඩසටහන් දෙකක් අඩංගු “Module_UART” ෆෝල්ඩරයයි.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 පැවරුමට සම්බන්ධයි
ht32fxxxxx_01_it.c බාධා කිරීමේ සේවා වැඩසටහන file
main.c ප්‍රධාන වැඩසටහන් මූල කේතය
\\application\Module_UART\UART_Bridge*2
_CreateProject.bat ව්‍යාපෘතිය නිර්මාණය කිරීම සඳහා කාණ්ඩ ස්ක්‍රිප්ට් files
_ProjectSource.ini ආරම්භ කිරීම file ව්‍යාපෘති සඳහා ප්‍රභව කේතය එක් කිරීම සඳහා
ht32_board_config.h සැලසුම file IC පර්යන්ත I/O පැවරුමට සම්බන්ධයි
ht32fxxxxx_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

සටහන: 

  1. “UART_Module_Ex හිample” යෙදුම් කේතය, API කියවීමේ සහ ලිවීමේ මෙහෙයුම් ලූප්බැක් ආකාරයෙන් සිදු කෙරේ, “API භාවිත Ex වෙත යොමු වන්නampවැඩි විස්තර සඳහා les" කොටස.
  2.  “UART_Bridge” යෙදුම් කේතය තුළ, UART නාලිකා දෙකක්, UART CH0 සහ UART CH1, සක්‍රිය කර ඇති අතර, UART උපාංග දෙක අතර COMMAND ව්‍යුහයන් හරහා අභිරුචි සන්නිවේදන ප්‍රොටෝකෝලය ක්‍රියාත්මක කෙරේ. වැඩි විස්තර සඳහා, "API භාවිතය Examples" කොටස.
  3. යෙදුම් කේතය uart_module.c/h භාවිතා කිරීමට අවශ්‍යයි fileස්ථිරාංග පුස්තකාල අනුවාද අවශ්‍යතාවයක් ඇති s. යාවත්කාලීන කිරීම අනුව අවශ්‍යතාවය කලින් කලට වෙනස් විය හැක. වත්මන් ස්ථිරාංග පුස්තකාල අනුවාද අවශ්‍යතාවය තහවුරු කිරීම සඳහා, main.c හි "Dependency check" යන මූල පදය සෙවීමෙන් පරායත්තතා පිරික්සුම් අන්තර්ගතය වෙත යොමු වන්න. file. ස්ථිරාංග පුස්තකාල අනුවාදය අවශ්‍යතා සපුරාලන්නේ නැතිනම්, "ෆර්ම්වෙයාර් පුස්තකාලය" කොටසේ සපයා ඇති සබැඳියෙන් නවතම අනුවාදය බාගන්න.

API ගෘහ නිර්මාණ ශිල්පය
සෑම API එකකම CH වැදගත් පරාමිතියක් ඇත, එය UART නාලිකාව වේ. මෙය පාලනය කළ යුත්තේ කුමන UART නාලිකාවද යන්න තීරණය කරයි. දැනට UART නාලිකා හතරක් දක්වා සහය දක්වන අතර එම නිසා නියත සංකේත හතරක් පහත පරිදි අර්ථ දක්වා ඇත. API පාලනය සඳහා පදනම සපයන 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 port සැකසුම් ඇතුළත් වේ.

වගුව 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 වින්‍යාසය වෙනස් කිරීමට, අදාළ උපාංග දත්ත පත්‍රිකාව බලන්න. දැනට ht0_board_config.h හි UART CH0 පමණක් වින්‍යාස කර ඇති බැවින් UART CH32 සඳහා I/O අර්ථ දැක්වීම් පමණක් ක්‍රියාත්මක වේ. UART CH1~3 එකතු කිරීමට, UART CH0 නිර්වචනය වෙත යොමු කිරීමෙන් හෝ "සැකසීම් වෙනස් කිරීම් සහ නිතර අසන පැන" කොටස වෙත යොමු කිරීමෙන් ඔවුන්ගේ I/O අර්ථ දැක්වීම් සම්පූර්ණ කළ යුතුය.

API ගෘහ නිර්මාණ ශිල්පයේ ප්‍රධාන අංග තුනක් ඇත: 

  1. UART නාලිකා හතරක් දක්වා සහය දක්වයි. ඔවුන්ගේ ආදාන පරාමිති UARTM_CH0, UARTM_CH1, UARTM_CH2 සහ UARTM_CH3 වේ.
  2.  UART නාලිකා ගණන සැකසිය හැකි අතර භාවිතයට නොගත් නාලිකා පවතින මතක අවකාශය අඩු නොකරයි.
  3. සියලුම UART සැකසුම් සහ I/O අර්ථ දැක්වීම් API වලින් සම්පූර්ණයෙන්ම වෙන් කර ඇත. මෙය අගයන් සැකසීමේ කළමනාකරණ පහසුව වැඩි කරන අතර වැරදි හෝ නැතිවූ සැකසුම් වල හැකියාව අඩු කරයි.

විස්තරය සැකසීම 

මෙම කොටස ht32_board_config.h සහ uart_module.h හි පරාමිති සැකසුම් හඳුන්වා දෙනු ඇත. files.

  1. ht32_board_config.h: මෙය file Starter Kit (SK) විසින් භාවිතා කරන UART IP නාලිකාව (UART0, UART1, USART0...) අනුරූප TX/RX පින් ස්ථාන සහ TX/RX බෆර ප්‍රමාණය ඇතුළත් pin අර්ථ දැක්වීම් සහ සංවර්ධන පුවරු අදාළ සැකසුම් සඳහා භාවිතා වේ. රූපය 10 HT32F52352 ආරම්භක කට්ටලයේ සැකසුම් අන්තර්ගතය පෙන්වයි. සංවර්ධනයේ ක්‍රියාකාරී ඒකාබද්ධතාවය මත පදනම්ව, පරිශීලකයින්ට පින් අර්ථ දැක්වීම් ක්‍රියාත්මක කිරීම සඳහා භාවිතා කරන ලද උපාංගයේ දත්ත පත්‍රිකාවේ "පින් පැවරුම්" කොටස වෙත යොමු විය හැක. සැකසීම් වෙනස් කිරීම පිළිබඳ වැඩි විස්තර "සැකසීම් වෙනස් කිරීම් සහ නිතර අසන පැන" කොටසේ විස්තර කෙරේ.
    රූපය 10. ht32_board_config.h සැකසුම් (HT32F52352)
    සැකසීම්
  2. uart_module.h: මෙය API ශීර්ෂයයි file අදාළ පෙරනිමි සිටුවම්, ශ්‍රිත නිර්වචන යනාදිය ඇතුළත් යෙදුම් කේතය භාවිතා කරයි. රූප සටහන 11 හි පෙන්වා ඇති පරිදි, පෙරනිමි සැකසුම් අන්තර්ගතයන් ht32_board_config.h හි ඇති සැකසුම් වැනි බාහිර වින්‍යාසයන් මගින් නැවත ලිවිය හැක. file.
    රූපය 11. uart_module.h හි පෙරනිමි සැකසුම්
    පෙරනිමි සැකසුම්
API විස්තරය
  1. යෙදුම් කේත දත්ත වර්ග විස්තරය.
    • USART_InitTypeDef
      පහත දැක්වෙන පරිදි BaudRate, WordLength, StopBits, Parity සහ Mode වින්‍යාසයන්ගෙන් සමන්විත UART මූලික වින්‍යාස ව්‍යුහය මෙයයි.
      විචල්ය නම ටයිප් කරන්න විස්තරය
      USART_BaudRate u32 UART සන්නිවේදන බෝඩ් අනුපාතය
      USART_WordLength u16 UART සන්නිවේදන වචන දිග: බිටු 7, 8 හෝ 9
      USART_StopBits u16 UART සන්නිවේදන නැවතුම් බිටු දිග: බිටු 1 හෝ 2
      USART_Parity u16 UART සන්නිවේදන සමානාත්මතාවය: ඉරට්ටේ, ඔත්තේ, ලකුණ, අවකාශය හෝ සමානාත්මතාවය නැත
      USART_ මාදිලිය u16 UART සන්නිවේදන මාදිලිය; APIs සාමාන්‍ය මාදිලියට පමණක් සහය දක්වයි
  2. API කාර්යයන් භාවිතා කිරීමට පෙර, ප්‍රධාන වැඩසටහනේ UART මූලික වින්‍යාසය සම්පූර්ණ කරන්න. මෙම යෙදුම් කේතය සඳහා UART මූලික වින්‍යාසය රූප සටහන 12 හි පෙන්වා ඇත. මෙහි baud අනුපාතය 115200bps, වචන දිග 8-බිට්, නැවතුම් බිට් දිග 1-බිට්, සහ සමානාත්මතාවක් නොමැත.
    රූපය 12. UART මූලික වින්‍යාසය
    මූලික වින්යාසය
  3. රූප සටහන 13 uart_module.h හි ප්‍රකාශිත API ශ්‍රිත පෙන්වයි file. පහත වගු මඟින් API ශ්‍රිතවල ශ්‍රිතය, ආදාන පරාමිති සහ භාවිතය පැහැදිලි කරයි.
    රූපය 13. uart_module.h හි API ක්‍රියාකාරී ප්‍රකාශන 
    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 බෆර් පොයින්ටර්
uLength ලිවිය යුතු දත්තවල දිග
ප්රතිදානය සාර්ථකයි සාර්ථකයි
දෝෂයකි අසාර්ථකයි
 භාවිතය 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 කියවන දත්ත තැබීමට ලිපිනය
ප්රතිදානය සාර්ථකයි සාර්ථකයි
දෝෂයකි අසාර්ථකයි (දත්ත නැත)
   භාවිතය u8 TempData; නම් (UARTM_ReadByte(UARTM_CH0, &TempData) == සාර්ථකයි){UARTM_WriteByte(UARTM_CH0, TempData);}//UARTM_ReadByte() SUCCESS ආපසු ලබා දෙන්නේ නම් UART මෙම දත්ත බයිටය ලියයි
නම u32 UARTM_Read(u32 CH, u8 *pBuffer, u32 uLength)
කාර්යය UART මොඩියුල කියවීමේ මෙහෙයුම (RX)
 ආදානය CH UART නාලිකාව
pBuffer බෆර් පොයින්ටර්
uLength කියවිය යුතු දත්තවල දිග
ප්රතිදානය කියවීම් ගණන දත්තවල දිග කියවා ඇත
     භාවිතය u8 ටෙස්ට්2[10]; u32 ලෙන්; ලෙන් = 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 නාලිකාව
ප්රතිදානය uLength බෆරයේ දිග කියවන්න
  භාවිතය UARTM_Init(UARTM_CH0, &USART_InitStructure, 40); //UART මොඩියුලය ආරම්භ කිරීම අතරතුර (UARTM_GetReadBufferLength(UARTM_CH0) <5);//UARTM_ReadBuffer හට දත්ත බයිට් 5ක් ලැබෙන තෙක් රැඳී සිටින්න
නම u32 UARTM_GetWriteBufferLength(u32 CH)
කාර්යය ලියන බෆර දිග (TX) ලබා ගන්න
ආදානය CH UART නාලිකාව
ප්රතිදානය uLength බෆර දිග ලියන්න
නම u8 UARTM_IsTxFinished(u32 CH)
කාර්යය TX තත්ත්වය ලබා ගන්න
ආදානය CH UART නාලිකාව
ප්රතිදානය ඇත්ත TX තත්ත්වය: අවසන්
බොරු TX තත්ත්වය: අවසන් නැත
      භාවිතය UARTM_WriteByte(UARTM_CH0, 'O'); #if 1 // “uart_module.c” SVN >= 525 අවශ්‍යයි //මෙම API ඉහත පෙන්වා ඇති පරිදි TX තත්ත්වය පරීක්ෂා කිරීමට භාවිතා කළ හැක; UARTM_WriteByte() API අවසන් වන තෙක් රැඳී සිටින්න, එනම්, TX තත්ත්වය සත්‍ය වන අතර, පසුව ඊළඟ ක්‍රියා දිගටම කරගෙන යන්න.//uart_module.c හි SVN අනුවාද අංකය 525 වන තෙක් මෙම ශ්‍රිතය එක් කර නොමැති නිසා සීමාවක් එකතු වේ.
නම හිස් UARTM_DiscardReadBuffer(u32 CH)
කාර්යය කියවීමේ බෆරයේ දත්ත ඉවතලන්න
ආදානය CH UART නාලිකාව

API භාවිතය උදාamples 

මෙම කොටස API ලිවීම සහ කියවීම පෙන්වයිampආරම්භක ක්‍රියාවලිය සහ "UART_Module_Ex" භාවිතා කරමින් "Module_UART" යෙදුම් කේතයේ lesample” යෙදුම් කේත ක්රියාවලිය. API භාවිතා කිරීමට පෙර, පරිශීලකයින්ට API ශීර්ෂය ඇතුළත් කිරීමට අවශ්‍ය වේ file ප්‍රධාන වැඩසටහන් මූල කේතයට file (#ඇතුළත් "middleware/uart_module.h").

රූප සටහන 14 හි පෙන්වා ඇති පරිදි, ආරම්භක ක්රියාවලියට ඇතුල් වන විට, පළමුව UART මූලික වින්යාස ව්යුහය නිර්වචනය කරන්න. ඉන්පසු BaudRate, WordLength, StopBits, Parity සහ Mode ඇතුළු UART මූලික වින්‍යාස ව්‍යුහයේ සාමාජිකයන් වින්‍යාස කරන්න. අවසාන වශයෙන්, API ආරම්භක ශ්‍රිතය අමතන්න, එය සම්පූර්ණ කිරීමෙන් ආරම්භක ක්‍රියාවලියේ අවසානය පෙන්නුම් කරයි. මෙයින් පසු පරිශීලකයින්ට පෙර සැකසූ UART මූලික වින්‍යාසය මත පදනම්ව ලිවීමේ සහ කියවීමේ මෙහෙයුම් දිගටම කරගෙන යා හැක.

රූපය 14. ආරම්භක ගැලීම් සටහන
ආරම්භක ගැලීම් සටහන

“UART_Module_Example” යෙදුම් කේතය ලූප්බැක් ආකාරයෙන් API කියවීම සහ ලිවීමේ මෙහෙයුම් පෙන්නුම් කරයි. මේ සඳහා වන ගැලීම් සටහන රූප සටහන 15 හි පෙන්වා ඇත. භාවිතා කරන API ශ්‍රිතවලට UARTM_WriteByte(), UARTM_Write(), UARTM_ReadByte(), UARTM_Read() සහ UARTM_GetReadBufferLength() ඇතුළත් වේ. ඔවුන්ගේ විස්තරය "API විස්තරය" කොටසේ දක්වා ඇත.

රූපය 15. ලිවීමේ සහ කියවීමේ ප්‍රවාහ සටහන Examples
ලිවීමේ සහ කියවීමේ ගැලීම් සටහන Examples

"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 විධානය A
uCmdB u8 විධානය B
uData[3] u8 දත්ත

"UART_Bridge" යෙදුම් කේතය තුළ, විධාන පැකට්ටුවක් ලෙස දත්ත ලබා ගැනීමට සහ එය විශ්ලේෂණය කිරීමට gCMD1 භාවිතා කරන්න. ඉන්පසු අභිරුචිගත කළ සන්නිවේදන ප්‍රොටෝකෝලය අනුව, gCMD2 ප්‍රතිචාර පැකට්ටුවක් ලෙස සකසා එය සම්ප්‍රේෂණය කරන්න. පහත දැක්වෙන්නේ හිටපු එකකිample විධාන පැකට්ටුවක 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 හිටපු එකක් ලෙස ගැනීමample, UART මොඩියුලය විසින් අත්පත් කරගත් සම්පත් පහත දැක්වේ.

HT32F52352
ROM ප්‍රමාණය බයිට් 946
RAM ප්රමාණය 40*1 + 256*2 බයිට්

සටහන:

  1. තනි නාලිකාවක් සඳහා ධජ සහ තත්ත්‍වය ඇතුළු ගෝලීය විචල්‍යයන් RAM බයිට් 40ක් ගනී.
  2.  මෙය තනි නාලිකාවක් භාවිතා කරන කොන්දේසියක් සඳහා වන අතර TX/RX බෆරයේ ප්‍රමාණය බයිට් 128/128 වේ. යෙදුම් අවශ්‍යතා අනුව බෆර ප්‍රමාණය සැකසිය හැක.

වගුව 4. යෙදුම් කේතය සම්පත් රැකියාව 

  • සම්පාදන පරිසරය: MDK-Arm V5.36, ARMCC V5.06 යාවත්කාලීන 7 (බිල්ඩ් 960)
  • Optimize විකල්පය: 2 මට්ටම (-O2)

භාවිතය සඳහා උපදෙස්

මෙම පරිච්ඡේදය "Module_UART" යෙදුම් කේතය සඳහා පාරිසරික සූදානම මෙන්ම සම්පාදනය සහ පරීක්ෂණ පියවරයන් හඳුන්වා දෙනු ඇත.

පාරිසරික සූදානම
"Module_UART" යෙදුම් කේතය සඳහා අවශ්‍ය දෘඪාංග සහ මෘදුකාංග පහත ලැයිස්තුගත කර ඇත.
වගුව 5. දෘඪාංග/මෘදුකාංග පාරිසරික සූදානම 

දෘඪාංග/මෘදුකාංග ගණන් කරන්න සටහන
ආරම්භක කට්ටලය 1 මෙම යෙදුම් සටහන හිටපු ලෙස HT32F52352 ආරම්භක කට්ටලය භාවිතා කරයිample
USB කේබලය 1 මයික්‍රෝ USB, PC වෙත සම්බන්ධ කර ඇත
යෙදුම් කේතය බාගත කිරීමේ මාර්ගය, file සහ ඩිරෙක්ටරි වින්‍යාසය "සම්පත් බාගත කිරීම සහ සකස් කිරීම" කොටසේ හඳුන්වා දී ඇත. මාර්ගය: "\\application\Module_UART\UART_Module_Example"
ටෙරා වාරය "ටර්මිනල් මෘදුකාංග" කොටස වෙත යොමු වන්න
Keil IDE Keil uVision V5.xx

පළමුව, UART යෙදුම් හඳුන්වාදීම සඳහා e-Link32 Lite හි Virtual COM Port (VCP) ශ්‍රිතය සමඟ ඒකාබද්ධ වූ HT52352F32 ආරම්භක කට්ටලය භාවිතා කරන්න. මේ සඳහා පහත සඳහන් පාරිසරික සූදානම ක්‍රියාත්මක කිරීම අවශ්‍ය වේ:

  1. පුවරුවේ USB අතුරුමුහුණත් දෙකක් ඇත. රූපය 32-(a) හි පෙන්වා ඇති පරිදි පරිගණකය සහ පුවරුවේ eLink16 Lite අතුරු මුහුණත සම්බන්ධ කිරීමට USB කේබලය භාවිතා කරන්න.
  2. යෙදුම් කේතයට e-Link32 Lite Virtual COM Port (VCP) ශ්‍රිතය භාවිතා කිරීමට අවශ්‍ය බැවින්, UART Jumper-J2*2 හි PAx*1 සහ DAP_Tx ජම්පරයක් භාවිතයෙන් කෙටි කර ඇති බව සහතික කර ගන්න. J2 ස්ථානය රූප සටහන 16-(b) මගින් දැක්වේ.

සටහන

  1. ආරම්භක කට්ටලය මත J2 විකල්ප දෙකක් ඇත, PAx සහ DAP_Tx shorted හෝ PAx සහ RS232_Tx shorted. සවිස්තරාත්මක සැකසුම් කාර්යයන් සඳහා Starter Kit පරිශීලක අත්පොත බලන්න.
  2. විවිධ ආරම්භක කට්ටලවල MCU UART RX පින් ස්ථානය වෙනස් වේ. මෙම හිටපුampRX පින් එක දැක්වීමට le PAx භාවිතා කරයි.

රූපය 16. HT32 ආරම්භක කට්ටලය බ්ලොක් රූප සටහන
කට්ටල බ්ලොක් රූප සටහන

දැන් UART යෙදුම් හඳුන්වාදීම සඳහා e-Link32 Pro හි Virtual COM Port (VCP) ශ්‍රිතය සමඟ ඒකාබද්ධ වූ පරිශීලක ඉලක්ක පුවරුව භාවිතා කරන්න. මේ සඳහා පහත සඳහන් පාරිසරික සූදානම ක්‍රියාත්මක කිරීම අවශ්‍ය වේ:

  1. e-Link32 Pro හි එක් පැත්තක් Mini USB කේබලයක් භාවිතයෙන් පරිගණකයකට සම්බන්ධ කර ඇති අතර අනෙක් පැත්ත එහි 10-bit අළු කේබලය හරහා පරිශීලක ඉලක්ක පුවරුවට සම්බන්ධ කර ඇත. කේබල් සහ ඉලක්ක පුවරුවේ SWD අතුරුමුහුණත් අතර සම්බන්ධය රූප සටහන 17-(a) හි පෙන්වා ඇති පරිදි Dupont රේඛා භාවිතයෙන් ක්රියාත්මක වේ.
  2. e-Link32 Pro හි අනුක්‍රමික සන්නිවේදන පින් #7 VCOM_RXD සහ Pin#8- VCOM_TXD වේ. රූප සටහන 17-(b) හි දැක්වෙන පරිදි, පරිශීලක ඉලක්ක පුවරුවේ TX සහ RX පින්වලට මේවා සම්බන්ධ කළ යුතුය.
    Figure 17. e-Link32 Pro + පරිශීලක ඉලක්ක පුවරුව බ්ලොක් රූප සටහන
    පරිශීලක ඉලක්ක පුවරුව

සම්පාදනය සහ පරීක්ෂණය
මෙම කොටස “යෙදුම\Module_UART\UART_Module_Ex ගනු ඇතample" හිටපු කෙනෙක් ලෙසampසම්පාදනය සහ පරීක්ෂණ ක්‍රියාවලීන් හඳුන්වා දීමට le. මෙයට පෙර, පෙර කොටසේ විස්තර කර ඇති සියලුම සූදානම ක්‍රියාත්මක කර ඇති බවත් Tera Terminal මෘදුකාංගය බාගත කර ඇති බවටත් සහතික වන්න.

සවිස්තරාත්මක මෙහෙයුම් පියවර පහත සාරාංශගත කර ඇත.
පියවර 1. Power-on පරීක්ෂණය

පෙර කොටසේ විස්තර කර ඇති පරිදි දෘඩාංග පරිසරය සකසන්න. බලය ක්‍රියාත්මක කිරීමෙන් පසු, ආරම්භක කට්ටලයේ පහළ වම්පස ඇති D9 බල LED ආලෝකමත් වේ. ඉහළ දකුණු පස ඇති e-Link1 Lite හි D32 USB LED USB ගණන් කිරීම අවසන් වූ පසු ආලෝකමත් වේ. D1 දිගු කාලයකට පසුව ආලෝකමත් නොවන්නේ නම්, USB කේබලයට සන්නිවේදනය කළ හැකිද යන්න තහවුරු කරන්න. එසේ නොවේ නම්, එය ඉවත් කර නැවත ඇතුල් කරන්න.

පියවර 2. ව්යාපෘතියක් උත්පාදනය කරන්න
යෙදුම\Module_UART\UART_Module_Ex විවෘත කරන්නample ෆෝල්ඩරය, _CreateProject.bat මත ක්ලික් කරන්න file රූප සටහන 18 හි පෙන්වා ඇති පරිදි ව්‍යාපෘතියක් උත්පාදනය කිරීමට. මෙම යෙදුම් සටහන HT32F52352 ආරම්භක කට්ටලය භාවිතා කරන බැවින්, MDK_ARMv52352 ෆෝල්ඩරය යටතේ පිහිටා ඇති Keil IDE ව්‍යාපෘතිය "Project_5.uvprojx" විවෘත කරන්න.

රූපය 18. ව්‍යාපෘතිය උත්පාදනය කිරීමට _CreateProject.bat ක්‍රියාත්මක කරන්න
ව්යාපෘතිය උත්පාදනය කරන්න

පියවර 3. සම්පාදනය සහ වැඩසටහන
ව්‍යාපෘතිය විවෘත කිරීමෙන් පසුව, පළමුව "Build" මත ක්ලික් කරන්න (හෝ "F7" කෙටිමං භාවිතා කරන්න), ඉන්පසු "Download" මත ක්ලික් කරන්න (නැතහොත් "F8" කෙටිමඟ භාවිතා කරන්න). මෙයින් පසු, ගොඩනැගීමේ සහ බාගත කිරීමේ ප්රතිඵල Build Output කවුළුවෙහි දර්ශනය වනු ඇත. රූපය 19 බලන්න.

රූපය 19. ප්‍රතිඵල ගොඩ නැගීම සහ බාගැනීම
ප්‍රතිඵල ගොඩනඟා බාගන්න

පියවර 4. Tera Term මෘදුකාංගය විවෘත කර අනුක්‍රමික පෝට් එක වින්‍යාස කරන්න
Tera Term මෘදුකාංගය සහ COM පෝට් එක විවෘත කරන්න. ආරම්භක කට්ටලය මගින් ජනනය කරන ලද COM port අංකය නිවැරදිද නැද්ද යන්න පිළිබඳව අවධානය යොමු කරන්න. ඉන්පසු වින්‍යාස අතුරුමුහුණතට ඇතුළු වීමට “Setup >> Serial Port” මත ක්ලික් කරන්න. "Module_UART" යෙදුම් කේතයේ UART අතුරුමුහුණත් වින්‍යාසය "ටර්මිනල් මෘදුකාංග" කොටසේ විස්තර කර ඇත. සැකසුම් ප්රතිඵලය රූප සටහන 20 හි දැක්වේ.

රූපය 20. Tera Term Serial Port Setup ප්‍රතිඵලය
සැකසුම් ප්‍රතිඵලය
පියවර 5. පද්ධතිය නැවත සකස් කර පරීක්ෂා කරන්න
SK reset යතුර ඔබන්න - B1 Reset. මෙයින් පසු, "ABC This is test!" පණිවිඩය වනු ඇත
API හරහා සම්ප්‍රේෂණය වන අතර රූප සටහන 21 හි පෙන්වා ඇති පරිදි Tera Term කවුළුවෙහි සංදර්ශණය වනු ඇත. ලැබීමේ ශ්‍රිතය සම්බන්ධයෙන්, Tera Term කවුළුවට දත්ත ඇතුලත් කිරීමේදී, ලැබෙන බෆරයේ දිග තීරණය කිරීමට අදාළ API භාවිතා කරනු ඇත. පරිගණකයට ලැබෙන දත්ත බයිට් 5 දක්වා ළඟා වූ විට, ලැබුණු බයිට් 5 දත්ත අනුපිළිවෙලින් යවනු ලැබේ. රූප සටහන 22 හි පෙන්වා ඇති පරිදි, අනුක්‍රමිකව ඇතුලත් කරන ලද දත්ත "1, 2, 3, 4, 5" වේ, එය API හරහා ලැබෙන සහ තීරණය කරනු ලැබේ. මෙයින් පසු, "1, 2, 3, 4, 5" දත්ත ආදාන පහෙන් පසුව මුද්රණය කරනු ලැබේ.

රූපය 21. "Module_UART" යෙදුම් කේතය ක්රියාකාරී පරීක්ෂණය - සම්ප්රේෂණය
යෙදුම් කේතය ක්‍රියාකාරී පරීක්ෂණය

රූපය 22. "Module_UART" යෙදුම් කේතය ක්රියාකාරී පරීක්ෂණය - ලබා ගන්න
යෙදුම් කේතය ක්‍රියාකාරී පරීක්ෂණය

බද්ධ කිරීමේ උපදෙස්
පරිශීලකයාගේ ව්‍යාපෘතිවලට API ඒකාබද්ධ කරන්නේ කෙසේද යන්න මෙම කොටසින් හඳුන්වා දෙනු ඇත.
පියවර 1. uart_module.c එක් කරන්න file ව්යාපෘතියට. පරිශීලක ෆෝල්ඩරය මත දකුණු-ක්ලික් කරන්න. "පවතින එක් කරන්න" තෝරන්න File'පරිශීලක' කණ්ඩායමට s...", ඉන්පසු uart_module.c තෝරන්න file සහ රූප සටහන 23 හි පෙන්වා ඇති පරිදි "එකතු කරන්න" මත ක්ලික් කරන්න. සඳහා "ඩිරෙක්ටරි ව්යුහය" කොටස බලන්න file මාර්ග විස්තරය.

රූපය 23. uart_module.c එකතු කරන්න File ව්යාපෘතියට
File ව්යාපෘතියට

පියවර 2. ring_buffer.c එක් කරන්න file ව්යාපෘතියට. පරිශීලක ෆෝල්ඩරය මත දකුණු-ක්ලික් කරන්න. "පවතින එක් කරන්න" තෝරන්න File'පරිශීලක' සමූහ වෙත s...", ඉන්පසු ring_buffer.c තෝරන්න file සහ රූප සටහන 24 හි පෙන්වා ඇති පරිදි "එකතු කරන්න" මත ක්ලික් කරන්න.\ සඳහා "ඩිරෙක්ටරි ව්‍යුහය" කොටස බලන්න file මාර්ග විස්තරය.
රූපය 24. ring_buffer.c එකතු කරන්න File ව්යාපෘතියට 
File ව්යාපෘතියට

පියවර 3. API ශීර්ෂය ඇතුළත් කරන්න file Figure 25 හි පෙන්වා ඇති පරිදි main.c හි ආරම්භයට. (Ext: #include “middleware/uart_module.h”)
රූපය 25. API ශීර්ෂකය ඇතුළත් කරන්න File to main.c
API ශීර්ෂකය ඇතුළත් කරන්න File

පියවර 4. ht32_board_config.h භාවිතයෙන් UART සන්නිවේදනය සඳහා අවශ්‍ය සැකසුම් ක්‍රියාත්මක කරන්න file. මෙය "සැකසුම් විස්තරය" සහ "සැකසීම් වෙනස් කිරීම් සහ නිතර අසන පැන" යන කොටස්වල විස්තරාත්මකව හඳුන්වා දී ඇත.

සැකසුම් වෙනස් කිරීම සහ නිතර අසන පැන 

මෙම කොටස UART සිටුවම් වෙනස් කරන ආකාරය සහ භාවිතයේදී ඇති වන පොදු ප්‍රශ්න කිහිපයක් පැහැදිලි කරයි.

UART පින් පැවරුම වෙනස් කරන්න 

  1. HT32F52352 Datasheet "Pin Assignment" පරිච්ඡේදය වෙත යොමුව, උපාංග වර්ගයෙහි AFIO ශ්‍රිත ලැයිස්තුගත කරන විකල්ප ක්‍රියාකාරී සිතියම්ගත කිරීමේ වගුව බලන්න. UART අදාළ පින් සඳහා, රූප සටහන 6 හි පෙන්වා ඇති පරිදි, "AF26 USART/UART" තීරුව වෙත යොමු වන්න.
    රූපය 26. HT32F52352 විකල්ප ක්‍රියාකාරී සිතියම්ගත කිරීමේ වගුව
    විකල්ප ක්‍රියාකාරී සිතියම්ගත කිරීමේ වගුව
  2. මෙම පියවර ඉහත වගුව භාවිතයෙන් අනුරූප UART පින් සොයා ගැනීමට පරිශීලකයින්ට මග පෙන්වයි. HT32F52352 උදාample පෙරනිමි නාලිකාව ලෙස USART1 භාවිතා කරයි. මෙහිදී, TX සහ RX පින් USR1_TX සහ USR1_RX වන අතර ඒවා පිළිවෙලින් PA4 සහ PA5 මත පිහිටා ඇත. රූප සටහන 27 "ht32_board_config.h" හි pin ලිපි හුවමාරුව මෙන්ම පින් අර්ථ දැක්වීම් පෙන්වයි. පින් පැවරුම් වගුවේ "පැකේජය" හි හිස් ක්ෂේත්‍ර වලින් අදහස් වන්නේ මෙම පැකේජයේ අදාළ GPIOs නොමැති බවයි. UART pins වෙනස් කිරීමට, ඉලක්කගත පින් ස්ථාන සොයාගෙන “ht32_board_config.h” භාවිතයෙන් කටු නැවත නිර්වචනය කරන්න. file.
    Figure 27. Pin ලිපි හුවමාරුව සහ සැකසුම් වෙනස් කිරීම
    සැකසුම් වෙනස් කිරීම

UART නාලිකාවක් එක් කරන්න
HT32F52352 HTCFG_UARTM_CH1 හිටපු ලෙස ගනිමින්ample, මෙහි නව UART නාලිකාවක් එකතු කරන ආකාරය විස්තර කර ඇත.

ht32_board_config.h වෙනස් කරන්න file
HT32F52352 Datasheet "Pin Assignment" පරිච්ඡේදය වෙත යොමුව, උපාංග වර්ගයෙහි AFIO ශ්‍රිත ලැයිස්තුගත කරන විකල්ප ක්‍රියාකාරී සිතියම්ගත කිරීමේ වගුව බලන්න. USART1 HTCFG_UARTM_CH0 ලෙස භාවිතා කර ඇති බැවින්, අලුතින් එකතු කරන ලද HTCFG_UARTM_CH1 හට USART0 තෝරාගත හැක. මෙහි, TX සහ RX pins පිළිවෙළින් PA2 සහ PA3 මත පිහිටා ඇත, රූප සටහන 28 හි ඉහළ අර්ධයේ පෙන්වා ඇත. රූපයේ රතු තිත් කොටුවෙන් පෙන්වා ඇති පරිදි, ht120_board_config.h හි 126~32 කේත රේඛා භාවිතයෙන් අනුරූප වෙනස් කිරීම් ක්‍රියාත්මක කෙරේ. 28.

රූපය 28. UART නාලිකාවක් එක් කරන්න
UART නාලිකාව

නිතර අසන පැන
Q: සම්පාදනය සහ පරීක්ෂණ අංශයේ 5 වන පියවරේදී සම්ප්‍රේෂණ ක්‍රියාකාරී පරීක්ෂණය සාමාන්‍ය වේ. මෙන්න, "ABC This is test!" පණිවිඩය සාර්ථකව ප්‍රදර්ශනය කර ඇත, කෙසේ වෙතත් ලැබීමේ කාර්යය සඳහා, ආදාන අගයන් පහ ආපසු ලබා දී නොපෙන්වන්නේ ඇයි?
A: UART Jumper-J2 හි MCU UART RX සහ DAP_Tx කටු ජම්පරයක් භාවිතයෙන් කෙටි කර ඇත්දැයි පරීක්ෂා කරන්න. “Module_UART” යෙදුම් කේතයට e-Link32 Lite හි Virtual COM Port (VCP) භාවිත කිරීමට අවශ්‍ය වන බැවින්, රූපය 2 හි පෙන්වා ඇති පරිදි කෙටි පරිපථ සැකසුම UART Jumper-J29 හි වම් පයින් දෙකට යෙදිය යුතුය.

රූපය 29. UART Jumper-J2 සැකසුම
UART ජම්පර්

ප්රශ්නය: පසුව “Build” (හෝ කෙටිමං “F7”) ක්‍රියාත්මක කිරීමෙන්, ස්ථිරාංග පුස්තකාල අනුවාදය අවශ්‍ය එකට වඩා පැරණි බවට දෝෂ පණිවිඩයක් දිස්වේ. රූපය 30 බලන්න.
A: "Module_UART" යෙදුම් කේතය ක්‍රියාත්මක කිරීම සඳහා uart_module.c/h ඇතුළත් කිරීමට අවශ්‍ය වේ fileනිශ්චිත ස්ථිරාංග පුස්තකාල අනුවාදයක් සඳහා අවශ්‍යතාවයක් ඇති s. එවැනි දෝෂ පණිවිඩයක් දිස්වන විට, එයින් අදහස් වන්නේ දැනට භාවිතා කරන ස්ථිරාංග පුස්තකාලය පැරණි අනුවාදයකි. එබැවින් "ෆර්ම්වෙයාර් පුස්තකාලය" කොටසේ ලබා දී ඇති සබැඳිය හරහා නවතම අනුවාදය බාගත කිරීම අවශ්ය වේ.

Figure 30. Firmware Library Version Error Message
අනුවාද දෝෂ පණිවිඩය

නිගමනය

මෙම ලේඛනය "Module_UART" යෙදුම් කේතය සහ UART සන්නිවේදන ප්‍රොටෝකෝලය පිළිබඳ වඩා හොඳ අවබෝධයක් සඳහා පරිශීලකයින්ට සහාය වීම සඳහා මූලික හැඳින්වීමක් සපයා ඇත. මෙය පසුව සම්පත් බාගත කිරීම සහ සකස් කිරීම සිදු විය. ක්‍රියාකාරී විස්තර පරිච්ඡේදය හඳුන්වා දුන්නේය file නාමාවලි ව්‍යුහය, API ගෘහ නිර්මාණ ශිල්පය, API විස්තරය සහ API භාවිතය examples. භාවිතය සඳහා උපදෙස් පරිච්ඡේදය "Module_UART" යෙදුම් කේතය පාරිසරික සූදානම, සම්පාදනය සහ පරීක්ෂා කිරීම පෙන්නුම් කරයි. එය කේත බද්ධ කිරීම සහ වෙනස් කිරීම් සැකසීම සඳහා උපදෙස් මෙන්ම මුහුණ දිය හැකි සමහර පොදු ගැටළු පැහැදිලි කිරීම ද සපයන ලදී. මේ සියල්ල ඒකාබද්ධ කිරීමෙන් පරිශීලකයින්ට API භාවිතා කරන්නේ කෙසේද යන්න ඉක්මනින් අවබෝධ කර ගැනීමට සහ පසුව ආරම්භ කිරීමට ගතවන කාලය අඩු කිරීමට ඉඩ සලසයි.

යොමු ද්රව්ය

වැඩි විස්තර සඳහා, Holtek වෙත යොමු වන්න webඅඩවිය: www.holtek.com

අනුවාද සහ වෙනස් කිරීම් තොරතුරු

දිනය කර්තෘ නිදහස් කරන්න වෙනස් කිරීමේ තොරතුරු
2022.04.30 蔡期育(චි-යු සායි) V1.00 පළමු අනුවාදය

වියාචනය

සියලුම තොරතුරු, වෙළඳ ලකුණු, ලාංඡන, චිත්‍රක, වීඩියෝ, ශ්‍රව්‍ය ක්ලිප්, සබැඳි සහ මේ මත දිස්වන අනෙකුත් අයිතම webවෙබ් අඩවිය ('තොරතුරු') යොමු කිරීම සඳහා පමණක් වන අතර, පූර්ව දැනුම්දීමකින් තොරව සහ Holtek Semiconductor Inc. සහ එහි අදාළ සමාගම්වල අභිමතය පරිදි ඕනෑම අවස්ථාවක වෙනස් වීමට යටත් වේ (මෙතැන් සිට 'Holtek', 'The company', 'us', ' අපි' හෝ 'අපේ'). හොල්ටෙක් මේ පිළිබඳ තොරතුරු වල නිරවද්‍යතාවය සහතික කිරීමට උත්සාහ කරන අතරතුර webවෙබ් අඩවිය, තොරතුරු වල නිරවද්‍යතාවය සඳහා Holtek විසින් කිසිදු ප්‍රකාශිත හෝ ව්‍යංග වගකීමක් ලබා නොදේ. කිසියම් සාවද්‍යතාවයක් හෝ කාන්දුවක් සඳහා හෝල්ටෙක් කිසිදු වගකීමක් දරන්නේ නැත.
මෙය භාවිතා කිරීමේදී හෝ භාවිතය සම්බන්ධයෙන් පැන නගින ඕනෑම හානියක් (පරිගණක වෛරස්, පද්ධති ගැටළු හෝ දත්ත නැතිවීම ඇතුළුව නමුත් ඒවාට පමණක් සීමා නොවී) 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 යෙදුම් සටහන

යොමු කිරීම්

කමෙන්ට් එකක් දාන්න

ඔබගේ විද්‍යුත් තැපැල් ලිපිනය ප්‍රකාශනය නොකෙරේ. අවශ්‍ය ක්ෂේත්‍ර සලකුණු කර ඇත *