Akwụkwọ ntuziaka onye ọrụ HOLTEK HT32 MCU UART
Okwu mmalite
The Universal Asynchronous Receiver/ Transmitter – UART bụ ihe a na-ejikarị eme ihe n’usoro mgbasa ozi na-enye nnyefe data asynchronous zuru-duplex na-agbanwe agbanwe. Koodu ngwa “Module_UART” enyere na ndetu ngwa a na-eji TX/RX nkwụsịtụ na mgbanaka sọftụwia iji mejuputa ọrụ mbufe/nata UART dị mfe site na API, nke akọwara n'okpuru. Nke a ga-eme ka usoro nnyefe data niile dị mfe ma mee ka ndị ọrụ ghọta ngwa ngwa ma mejuputa ngwa nkwurịta okwu UART.
- Nyefee/nata ọrụ: ịgụ byte, dee byte, ịgụ ihe nkpuchi, ide ihe nchekwa, wdg.
- Ọrụ ọnọdụ: nweta ogologo ihe nchekwa, ọkwa TX, wdg.
Akwụkwọ a ga-ebu ụzọ webata usoro nzikọrịta ozi UART, nke ga-enyere ndị ọrụ aka ịghọta nke ọma nzikọrịta ozi UART site na ụkpụrụ gaa na ngwa. Nke a na-esote nbudata na nkwadebe nke akụrụngwa achọrọ maka koodu ngwa, gụnyere ọba akwụkwọ firmware, nbudata koodu ngwa, file na nhazi akwụkwọ ndekọ yana mmalite nke ngwa ngwa ngwa ngwa ejiri na ndetu ngwa. N'isi nke nkọwa ọrụ, a ga-ewebata nhazi akwụkwọ ndekọ aha ngwa, ntọala paramita na nkọwa API. A ga-akọwa ojiji API site na iji koodu ngwa “Module_UART” yana a ga-edepụtakwa oriri akụrụngwa Flash/RAM achọrọ maka API. Ntuziaka maka ojiji isi ga-eduzi onye ọrụ site na usoro nke nkwadebe gburugburu ebe obibi, nchịkọta na ule iji gosi na koodu ngwa ahụ ga-arụ ọrụ nke ọma. Ọ ga-enye ntuziaka na-akọwa otu esi etinye API n'ime ọrụ onye ọrụ wee wepụta ntụaka maka mgbanwe na nsogbu nkịtị enwere ike ihute.
Mpebiri okwu eji:
- UART: Ihe nnata/nfefe niile anaghị ejikọta ya
- API: Ngwa mmemme Interface
- LSB: Bit kacha Dị Mkpa
- MSB: Bit kacha mkpa
- PC: Kọmputa nkeonwe
- SK: Kit Starter, bọọdụ mmepe HT32
- IDE: Gburugburu mmepe agbakwunyere
UART Nkwukọrịta Protocol
UART bụ ụdị nzikọrịta ozi serial nke interface na-eme ngbanwe data n'otu n'otu na nke na-ebufe ya wee soro onye nnata yiri ya kparịta ụka. Onye nnata ahụ na-eme ntụgharị data serial-to-parallel data mgbe nnabata data gasịrị. Ọgụgụ 1 na-egosi eserese schematic nke nzikọrịta ozi na-egosi ka esi ebufe data n'usoro n'usoro bitwise. Ya mere maka nkwurịta okwu bidirectional n'etiti transmitter na nnata, ọ bụ naanị waya abụọ, TX na RX, ka achọrọ ịnyefe data n'usoro n'etiti ibe ha. TX bụ ntụtụ nke UART na-ebufe data serial ma jikọọ ya na pin RX nke nnata. Ya mere, ngwaọrụ ndị na-ebugharị na ndị nnata kwesịrị ịgafe njikọ TX na RX ha iji rụọ nkwurịta okwu ụzọ abụọ UART, dị ka egosiri na. Onyonyo 2.
Onyonyo 1. Usoro nkwukọrịta ozi
Onyonyo 2. UART okirikiri eserese
N'oge mkparịta ụka Oghere Usoro UART, nnyefe data anaghị ekwekọ. Nke a pụtara na enweghị elekere ma ọ bụ mgbaama mmekọrịta ọzọ n'etiti onye na-ebufe na nnata. N'ebe a, a na-eji ọnụ ọgụgụ baud eme ihe, nke bụ data serial na-ebufe / ịnata ọsọ na nke a na-edozi n'akụkụ abụọ tupu ịnyefe data. Na mgbakwunye, a na-agbakwunye bits pụrụ iche dị ka mmalite na nkwụsịtụ na mmalite na njedebe nke ngwugwu data iji mepụta ngwugwu data UART zuru ezu. Ọgụgụ 3 na-egosi nhazi ngwugwu data UART ebe eserese 4 na-egosi ngwugwu data UART 8-bit na-enweghị obere nha.
Ọgụgụ 3. UART Data Packet Structure
Ọgụgụ 4. UART 8-bit Data Packet Format
Ewebata akụkụ ọ bụla nke ngwugwu data UART n'usoro n'okpuru.
- Malite Bit: Nke a na-egosi mmalite nke ngwugwu data. Ntụtụ UART TX na-anọkarị n'ọkwa mgbagha dị elu tupu nnyefe amalite. Ọ bụrụ na nnyefe data amalite, onye na-ebufe UART ga-ewepụ pin TX site na elu gaa na ala, ya bụ, site na 1 ruo 0, wee jide ya ebe ahụ maka otu elekere elekere. Onye nnata UART ga-amalite ịgụ data mgbe achọpụtara mgbanwe dị elu ruo ala na pin RX.
- Data: Nke a bụ ezi data ebufere, yana ogologo data nke 7, 8 ma ọ bụ 9 bits. A na-ebufekarị data ahụ na LSB mbụ.
- Mmakọ Bit: A na-eji ọnụọgụ mgbagha "1" dị na data ahụ iji chọpụta ma ọ bụla data agbanweela n'oge nnyefe. N'ihi na ọbụna n'otu n'otu, ngụkọta ọnụ ọgụgụ nke mgbagha "1" na data kwesịrị ịbụ ọbụna ọnụ ọgụgụ, ọzọ, ngụkọta ọnụ ọgụgụ nke mgbagha "1" na data kwesịrị ịbụ ihe na-adịghị mma ọnụ ọgụgụ n'ihi na-adịghị mma parity.
- Kwụsị Bit: Nke a na-egosi njedebe nke ngwugwu data, ebe onye na-ebufe UART ga-adọta pin TX site na ala ruo elu, ya bụ, site na 0 ruo 1, wee jide ya ebe ahụ maka oge 1 ma ọ bụ 2-bit.
Dị ka e kwuru na mbụ, ebe ọ bụ na ọ dịghị akara elekere na sekit UART, otu serial data na-ebufe / nnata ọsọ, nke a maara dị ka baud ọnụego, ga-akọwapụta n'etiti transmitter na nnata iji mejuputa njehie-free nnyefe. A na-akọwa ọnụọgụ baud site na ọnụọgụ nke bits bufere kwa nkeji, na bps (bit kwa nkeji). Ụfọdụ ọkọlọtọ na ọnụego baud a na-ejikarị bụ 4800bps, 9600bps, 19200bps, 115200bps, wdg. Oge kwekọrọ na nke a chọrọ maka ịnyefe otu bit data ka egosiri n'okpuru.
Tebụl 1. Ọnụego Baud vs. Oge nnyefe 1-Bit
Ọnụego Baud | Mbufe 1-Bit Oge |
4800bps | 208.33µs |
9600bps | 104.16µs |
19200bps | 52.08µs |
115200bps | 8.68µs |
Nbudata na nkwadebe akụrụngwa
Isiakwụkwọ a ga-ewebata koodu ngwa na ngwa ngwanrọ eji, yana otu esi ahazi ndekọ na file uzo.
Firmware Library
Nke mbụ, hụ na ebudatala ọbá akwụkwọ firmware Holtek HT32 tupu iji koodu ngwa ahụ. E gosipụtara njikọ nbudata n'okpuru. Ebe a enwere nhọrọ abụọ, HT32_M0p_Vyyyymmdd.zip maka usoro HT32F5xxxx na HT32_M3_Vyyyymmdd.zip maka usoro HT32F1xxxx. Budata ma bupụ ihe achọrọ file.
zip ahụ file nwere ọtụtụ nchekwa nwere ike nkewa dị ka Document, Firmware Library, Ngwaọrụ na ihe ndị ọzọ, ụzọ ntinye ya na-egosi na eserese 5. The HT32 firmware ọba akwụkwọ zip file ya na a file aha HT32_STD_xxxxx_FWLib_Vm.n.r_s.zip dị n'okpuru nchekwa Firmware_Library.
Ọgụgụ 5. HT32_M0p_Vyyyymmdd.zip ọdịnaya
Koodu ngwa
Budata koodu ngwa site na njikọ ndị a. A na-etinye koodu ngwa ahụ n'ime zip file ya na a file aha HT32_APPFW_xxxxx_APPCODENAME_Vm.n.r_s.zip. Lee Onyonyo 6 maka file mgbakọ aha.
Ọgụgụ 6. Koodu ngwa File Aha Okwu Mmalite
Budata njikọ: https://mcu.holtek.com.tw/ht32/app.fw/Module_UART/
File na Nhazi ndekọ
Ebe koodu ngwa enweghị ọba akwụkwọ firmware HT32 files, koodu ngwa na ọbá akwụkwọ firmware emepeghị files kwesịrị idowe ya n'ụzọ ziri ezi tupu ịmalite nchịkọta. Koodu ngwa ngwa zip file na-enwekarị otu nchekwa ma ọ bụ karịa, dị ka ngwa na ọbá akwụkwọ, dị ka egosiri na foto 7. Debe folda ngwa n'okpuru akwụkwọ ndekọ mgbọrọgwụ ụlọ akwụkwọ HT32 firmware iji wuchaa ya. file Nhazi ụzọ, dị ka egosiri na Figure 8. Nhọrọ, wepụ koodu ngwa na HT32 firmware n'otu oge n'otu ụzọ ahụ iji nweta otu nsonaazụ nhazi ahụ.
Ọdịnaya 7. HT32_APPFW_xxxxx_APPCODENAME_Vm.n.r_s.zip ọdịnaya
Ọgụgụ 8. Ụzọ nkwụsịtụ
Ngwa ngwa njedebe
Koodu ngwa nwere ike ịnyefe ozi site na ọdụ ụgbọ mmiri COM iji mejuputa nhọrọ ọrụ ma ọ bụ ngosipụta ọkwa. Nke a na-achọ akụkụ ndị ọbịa ka etinyere ngwanrọ ọnụ n'ihu. Ndị ọrụ nwere ike họrọ sọftụwia njikọ kwesịrị ekwesị, ma ọ bụ jiri sọftụwia nwere ikikere efu dịka Tera Term. Na koodu ngwa ahụ, a na-ahazi ọwa UART na ogologo okwu nke 8-bits, enweghị oke, 1 nkwụsịtụ na ọnụ ọgụgụ baud nke 115200bps.
Nkọwa ọrụ
Isiakwụkwọ a ga-enye nkọwa ọrụ maka koodu ngwa, gụnyere ozi na nhazi ndekọ aha, API architecture, nkọwa ntọala, wdg.
Ọdịdị ndekọ
Koodu ngwa file nwere folda ngwa. Ihe oyi akwa na-esote bụ folda "Module_UART" nke nwere mmemme ngwa abụọ, "UART_Module_Ex".ample" na "UART_Bridge" dị mkpa files na-depụtara na kọwara n'okpuru.
Tebụl 2. Usoro akwụkwọ ndekọ aha ngwa
nchekwa / File Aha | Nkọwa |
Ngwa \ Module_UART \ UART_Module_Example*1 | |
_CreateProject.bat | Ogbe scripts maka ịmepụta oru ngo files |
_ProjectSource.ini | Mmalite file maka ịgbakwunye koodu iyi na oru ngo |
ht32_board_config.h | Melite file metụtara IC peripheral I/O ọrụ |
ht32fxxxxx_01_it.c | Usoro ọrụ kwụsịtụrụ file |
isi.c | Koodu isi mmalite mmemme |
Ngwa \ Module_UART \ UART_Bridge*2 | |
_CreateProject.bat | Ogbe scripts maka ịmepụta oru ngo files |
_ProjectSource.ini | Mmalite file maka ịgbakwunye koodu iyi na oru ngo |
ht32_board_config.h | Melite file metụtara IC peripheral I/O ọrụ |
ht32fxxxxx_01_it.c | Usoro ọrụ kwụsịtụrụ file |
isi.c | Koodu isi mmalite nke mmemme isi |
uart_bridge.h uart_bridge.c | UART akwa nkụnye eji isi mee file na koodu isi mmalite file |
\\ utilities \ middleware | |
uart_module.h*3 uart_module.c*3 | API nkụnye eji isi mee file na koodu isi mmalite file |
\\ utilities \ nkịtị | |
ringbuffer.h ring_buffer.c | nkụnye eji isi mee mgbanaka sọftụwia file na koodu isi mmalite file |
Mara:
- N'ime "UART_Module_Example” koodu ngwa, a na-arụ ọrụ ịgụ na ide API n'ụzọ loopback, rụtụ aka na “API Usage Ex.amples" ngalaba maka nkọwa ndị ọzọ.
- Na koodu ngwa "UART_Bridge", a na-eme ka ọwa abụọ UART, UART CH0 na UART CH1 rụọ ọrụ, a na-emejuputa usoro nkwurịta okwu omenala site na usoro COMMAND n'etiti ngwaọrụ abụọ UART. Maka ozi ndị ọzọ, rụtụ aka na “API Usage Examples" ngalaba.
- Koodu ngwa kwesịrị iji uart_module.c/h files nke nwere ụdị ọbá akwụkwọ firmware chọrọ. Ihe achọrọ nwere ike ịgbanwe oge ruo n'oge dịka mmelite ahụ siri dị. Iji kwado ụdị ọbá akwụkwọ firmware dị ugbu a chọrọ, rụtụ aka na ọdịnaya nlele ndabere site na ịchọ isiokwu “Nlebanya ndabere” na isi.c file. Ọ bụrụ na ụdị ọba akwụkwọ firmware emezughị ihe achọrọ, budata ụdị kachasị ọhụrụ site na njikọ enyere na ngalaba “Ọbá akwụkwọ Firmware”.
API Architecture
API ọ bụla nwere oke CH dị mkpa, nke bụ ọwa UART. Nke a na-ekpebi ọwa UART nke a ga-achịkwa. Ugbu a a na-akwado ọwa UART anọ ya mere a na-akọwa akara anọ mgbe niile dị ka ndị a. A na-eji ihe ndị a dị ka oke CH na-enye API ntọala maka njikwa.
- UARTM_CH0: ntinye ntinye - jikwaa ma ọ bụ hazie UART CH0
- UARTM_CH1: ntinye ntinye - jikwaa ma ọ bụ hazie UART CH1
- UARTM_CH2: ntinye ntinye - jikwaa ma ọ bụ hazie UART CH2
- UARTM_CH3: ntinye ntinye - jikwaa ma ọ bụ hazie UART CH3
Oghere ebe nchekwa agaghị emefusị ma ọ bụrụ na ejiri naanị otu ọwa UART. Nke a bụ n'ihi na ọnụ ọgụgụ nke ọwa UART akwadoro nwere ike ịtọ na koodu ọwa UART na-ejighị ya ga-ewepụ site n'aka onye na-ebu ụzọ mee ka ohere nchekwa dị. E gosipụtara ụkpụrụ ụlọ API na Onyonyo 9.
Ọgụgụ 9. API Architecture Block Eserese
API nke ọ bụla nwere otu anọ nke ntọala ma ọ bụ njikwa metụtara ọwa UART nke mere na ndị ọrụ kwesịrị itinye naanị ihe achọrọ CH. Iji hazie API dị mkpa, ọ bụ naanị ihe achọrọ ka ịnwe tebụl nhazi ntọala UART nwere ụdị nhazi, USART_InitTypeDef. API ga-emejuputa nhazi ntọala UART dịka ihe dị n'ime ya si dị na tebụl. Rụtụ aka na ngalaba “Nkọwa API” maka tebụl nhazi nhazi ntọala UART.
Uart_module.c/.h files naanị nwere nkwụsịtụ (CHx_IRQ) na tebụl ọkwa (CHx Status) nke ọwa UART ọ bụla ebe ntọala niile achọrọ maka nkwurịta okwu UART bụ ht32_board_config.h. Ngwaike dị mkpa dị na ht32_board_config.h file egosiri na tebụl dị n'okpuru. A na-enye nkọwa ndị ọzọ na ngalaba "Nkọwa Ntọala".
Ngwaike dị mkpa na ht32_board_config.h gụnyere ntọala I/O yana ntọala ọdụ ụgbọ mmiri UART anụ ahụ, dị ka ndị a.
Tebụl 3. Akara nkọwa na ht32_board_config.h
Akara | Nkọwa |
HTCFG_UARTM_CH0 | Aha ọdụ ụgbọ mmiri UART anụ ahụ; Ọpụample: UART0, UART1… |
HTCFG_UARTM0_TX_GPIO_PORT | Na-akọwapụta aha ọdụ ụgbọ mmiri nke TX maka CH0; Ọpụample: A, B, C... |
HTCFG_UARTM0_TX_GPIO_PIN | Na-akọwapụta nọmba pin nke TX maka CH0; Ọpụample: 0-15 |
HTCFG_UARTM0_RX_GPIO_PORT | Na-akọwapụta aha ọdụ ụgbọ mmiri nke RX maka CH0; Ọpụample: A, B, C... |
HTCFG_UARTM0_RX_GPIO_PIN | Na-akọwapụta nọmba pin nke TX maka CH0; Ọpụample: 0-15 |
HTCFG_UARTM0_TX_BUFFER_SIZE | Na-akọwa nha ihe nchekwa TX maka CH0; Ọpụampihe: 128 |
HTCFG_UARTM0_RX_BUFFER_SIZE | Na-akọwa nha ihe nchekwa RX maka CH0; Ọpụampihe: 128 |
Iji gbanwee nhazi ọwa UART AFIO, rụtụ aka na mpempe akwụkwọ ngwaọrụ dị mkpa. Ugbu a naanị nkọwa I/O maka UART CH0 na-arụ ọrụ dịka naanị UART CH0 ka ahaziri na ht32_board_config.h. Iji tinye UART CH1 ~ 3, nkọwa I / O ha kwesịrị ka emechaa site na-ezo aka na nkọwa UART CH0 ma ọ bụ na-ezo aka na ngalaba "Setting Modification and FAQs".
Enwere isi atụmatụ ime ụlọ API atọ:
- A na-akwado ọwa UART anọ. Usoro ntinye ha bụ UARTM_CH0, UARTM_CH1, UARTM_CH2 na UARTM_CH3.
- Enwere ike ịtọ ọnụọgụ nke ọwa UART na ọwa ejighi ya agaghị ebelata ohere ebe nchekwa dị.
- Ntọala UART niile na nkọwa I/O kewapụrụ kpamkpam na API. Nke a na-abawanye mma njikwa nke ịtọ ụkpụrụ ma belata ohere nke ntọala ezighi ezi ma ọ bụ efu.
Nkọwa ntọala
Akụkụ a ga-ewebata ntọala paramita na ht32_board_config.h na uart_module.h files.
- ht32_board_config.h: Nke a file A na-eji maka nkọwa pin na bọọdụ mmepe dabara adaba, nke gụnyere ọwa UART IP (UART0, UART1, USART0…) nke Starter Kit (SK), ebe TX/RX kwekọrọ na nha TX/RX. Ọgụgụ 10 na-egosi ọdịnaya ntọala HT32F52352 Starter Kit. Dabere na njikọta arụ ọrụ nke mmepe, ndị ọrụ nwere ike na-ezo aka na ngalaba “Pin Assignment” nke mpempe akwụkwọ data nke ngwaọrụ ejiri mejuputa nkọwa pin. A ga-akọwa nkọwa ndị ọzọ gbasara mgbanwe ntọala na ngalaba “Nhazi mgbanwe na ajụjụ ajụjụ”.
Ọgụgụ 10. ht32_board_config.h Ntọala (HT32F52352)
- uart_module.h: Nke a bụ isi API file nke koodu ngwa na-eji, nke na-agụnye ntọala ndabara dị mkpa, nkọwa ọrụ, wdg. Dị ka egosiri na Figure 11, enwere ike idegharị ọdịnaya ntọala ndabara site na nhazi mpụga, dị ka ntọala dị na ht32_board_config.h. file.
Ọgụgụ 11. Ntọala ndabara na uart_module.h
Nkọwa API
- Nkọwa ụdị data koodu ngwa.
- USART_InitTypeDef
Nke a bụ usoro nhazi ntọala nke UART nke mejupụtara BaudRate, WordLength, StopBits, Parity na nhazi ọnọdụ, dị ka egosiri n'okpuru.Na-agbanwe agbanwe Aha Ụdị Nkọwa USART_Baud Ọnụego u32 UART nkwurịta okwu baud ọnụego USART_Ogologo Okwu u16 Ogologo okwu nzikọrịta UART: 7, 8 ma ọ bụ 9 bits USART_StopBits u16 Nkwukọrịta UART nkwụsị nkwụsị ogologo: 1 ma ọ bụ 2 ibe n'ibe USART_Parity u16 UART nzikọrịta ozi: ọbụlagodi, dị njọ, akara, oghere ma ọ bụ enweghị oke USART_Ụdị u16 UART nkwurịta okwu mode; API ndị ahụ na-akwado naanị ọnọdụ nkịtị
- USART_InitTypeDef
- Tupu iji ọrụ API, mezue nhazi ntọala UART na mmemme bụ isi. E gosipụtara nhazi ntọala UART maka koodu ngwa a na Figure 12. N'ebe a, ọnụ ọgụgụ baud bụ 115200bps, ogologo okwu bụ 8-bit, nkwụsị nkwụsịtụ bụ 1-bit, ọ dịghịkwa ihe ọ bụla.
Ọgụgụ 12. UART Basic Nhazi
- Ọgụgụ 13 na-egosi ọrụ API ekwuputara na uart_module.h file. Tebụlụ ndị a na-akọwa ọrụ, paramita ntinye na ojiji nke ọrụ API.
Ọgụgụ 13. Nkwupụta Ọrụ API na uart_module.h
Aha | UARTM_Init efu (u32 CH, USART_InitTypeDef *pUART_Init, u32 uRxTimeOutValue) | |
Ọrụ | Mmalite modul UART | |
Ntinye | CH | UART ọwa |
pUART_Init | UART isi nhazi nhazi ihe nrụbama | |
uRxTimeOutValue | UART RX FIFO uru oge ngwụcha. Mgbe RX FIFO natara data ọhụrụ, counter ga-emegharị ma malitegharịa. Ozugbo counter ahụ ruru uru ngwucha oge atọrọ na agbanyere nkwụsị oge nke kwekọrọ, a ga-ewepụta nkwụsị oge. | |
Ojiji | UARTM_Init (UARTM_CH0, & USART_InitStructure, 40);// Mee nhazi nhazi UART // Rụtụ aka na eserese 12 maka nhazi USART_InitStructure |
Aha | u32 UARTM_WriteByte(u32 CH, u8 uData) | |
Ọrụ | UART modul dee ọrụ byte (TX) | |
Ntinye | CH | UART ọwa |
udata | Data a ga-ede | |
Mpụta | Ọganihu | Na-aga nke ọma |
ERROR | Okpu | |
Ojiji | UARTM_WriteByte(UARTM_CH0, 'A'); // UART dere 1 byte - 'A' |
Aha | u32 UARTM_Write (u32 CH, u8 *pBuffer, u32 uLength) | |
Ọrụ | UART modul ide ọrụ (TX) | |
Ntinye | CH | UART ọwa |
pBuffer | Ntụnye ihe nchekwa | |
Ogologo ogologo | Ogologo data a ga-ede | |
Mpụta | Ọganihu | Na-aga nke ọma |
ERROR | Okpu | |
Ojiji | u8 Test[] = "Nke a bụ ule!\r\n"; UARTM_Write (UARTM_CH0, Nnwale, nha nke (Nnwale) -1); // UART na-ede data pBuffer |
Aha | u32 UARTM_ReadByte(u32 CH, u8 *pData) | |
Ọrụ | UART modul na-agụ byte arụ ọrụ (RX) | |
Ntinye | CH | UART ọwa |
pData | Adreesị iji tinye data ọgụgụ | |
Mpụta | Ọganihu | Na-aga nke ọma |
ERROR | Okpu (enweghị data) | |
Ojiji | u8 TempData; Ọ bụrụ na (UARTM_ReadByte (UARTM_CH0, & TempData) = SUCCESS) {UARTM_WriteByte(UARTM_CH0, TempData);}// Ọ bụrụ na UARTM_ReadByte () alaghachite SUCCESS mgbe ahụ UART dere data a byte |
Aha | u32 UARTM_Gụọ (u32 CH, u8 *pBuffer, u32 uLength) | |
Ọrụ | Ọrụ ọgụgụ modul UART (RX) | |
Ntinye | CH | UART ọwa |
pBuffer | Ntụnye ihe nchekwa | |
Ogologo ogologo | Ogologo data a ga-agụ | |
Mpụta | Gụọ ọnụ | Agụla ogologo data ahụ |
Ojiji | u8 Test2[10]; u32 Len; Len = UARTM_Read(UARTM_CH0, Test2, 5);ma ọ bụrụ (Len> 0){UARTM_Write(UARTM_CH0, Test2, Len);}//UARTM_Read() na-agụ data 5 bytes ma na-echekwa data n'ime Test2, na-ekenye ọnụ ọgụgụ byte agụ na Len//Dee ule2 sitere na data sitere na TestXNUMX. |
Aha | u32 UARTM_GetReadBuffer Ogologo(u32 CH) | |
Ọrụ | Nweta ogologo nchekwa agụ (RX) | |
Ntinye | CH | UART ọwa |
Mpụta | Ogologo ogologo | Gụọ ogologo ihe nchekwa |
Ojiji | UARTM_Init (UARTM_CH0, & USART_InitStructure, 40); // UART modul mmalite mgbe (UARTM_GetReadBufferLength(UARTM_CH0) <5);//Chere ruo mgbe UARTM_ReadBuffer natara 5 bytes nke data |
Aha | u32 UARTM_GetWriteBuffer Ogologo(u32 CH) | |
Ọrụ | Nweta ogologo ihe nchekwa ederede (TX) | |
Ntinye | CH | UART ọwa |
Mpụta | Ogologo ogologo | Dee ogologo ihe nchekwa |
Aha | u8 UARTM_IsTx Emechara (u32 CH) | |
Ọrụ | Nweta ọkwa TX | |
Ntinye | CH | UART ọwa |
Mpụta | EZIOKWU | Ọkwa TX: emechara |
Ụgha | Ọkwa TX: emechabeghị | |
Ojiji | UARTM_WriteByte(UARTM_CH0, 'O'); #if 1 // “uart_module.c” SVN>= 525 chọrọ mgbe (UARTM_IsTxFinished(UARTM_CH0) == Ụgha) #ọzọ (1) #endif // Enwere ike iji API a lelee ọkwa TX, dịka egosiri n'elu; chere ruo mgbe API UARTM_WriteByte() agwụla, ya bụ, ọkwa TX bụ TRUE, wee gaa n'ihu na omume ndị na-esote.//Agbakwunyere mmachi n'ihi na etinyeghị ọrụ a ruo mgbe nọmba ụdị SVN dị na uart_module.c bụ 525. |
Aha | efu UARTM_DiscardReadBuffer(u32 CH) | |
Ọrụ | Tụfuo data na nchekwa agụ | |
Ntinye | CH | UART ọwa |
Ojiji API Examples
Akụkụ a ga-egosi API ide na gụọ examples nke "Module_UART" koodu ngwa site na iji usoro mmalite na "UART_Module_Ex"ample” Usoro koodu ngwa. Tupu iji API, ndị ọrụ kwesịrị itinye isi API file banye koodu isi mmemme file (#gụnyere "middware/uart_module.h").
Dị ka egosiri na eserese 14, mgbe ị na-abanye usoro mmalite, buru ụzọ kọwaa usoro nhazi ntọala UART. Mgbe ahụ hazie ndị otu nhazi nhazi UART gụnyere BaudRate, WordLength, StopBits, Parity na Mode. N'ikpeazụ, kpọọ ọrụ mmalite API, mmecha ya na-egosi njedebe nke usoro mmalite. Mgbe nke a gasịrị, ndị ọrụ nwere ike ịga n'ihu na-ede ma gụọ ọrụ dabere na nhazi ntọala UART preset.
Onyonyo 14. Usoro mmalite mmalite
"UART_Module_Example” ngwa koodu na-egosiputa API na-agụ na ide arụmọrụ na a loopback Chart maka nke a na-egosi na Figure 15. Arụ ọrụ API na-agụnye UARTM_WriteByte(), UARTM_Write(), UARTM_ReadByte(), UARTM_Read() na UARTM_GetReadBufferLength(). Enyere nkọwa ha na ngalaba "API Description"
Ọgụgụ 15. Mpempe akwụkwọ ederede dee na gụọ Examples
Enwere koodu ngwa "UART_Bridge" ọzọ n'okpuru folda "Module_UART" nke metụtara ya file ewebata nkọwa na ngalaba "Akwụkwọ ntuziaka". Koodu ngwa “UART_Bridge” na-eme ka ọwa UART abụọ rụọ ọrụ, UART CH0 na UART CH1, wee hazie usoro nkwukọrịta n'etiti ngwaọrụ UART abụọ site na usoro COMMAND, gCMD1 na gCMD2. A kọwapụtara ihe ndị a na uart_bridge.c, dị ka egosiri n'okpuru. UARTBridge_CMD1TypeDef gCMD1:
Na-agbanwe agbanwe Aha | Ụdị | Nkọwa |
isi isi | u8 | nkụnye eji isi mee |
uCmd | u8 | Iwu |
data[3] | u8 | Data |
UARTBridge_CMD2TypeDef gCMD2:
Na-agbanwe agbanwe Aha | Ụdị | Nkọwa |
isi isi | u8 | nkụnye eji isi mee |
uCmdA | u8 | Iwu A |
uCmdB | u8 | Iwu B |
data[3] | u8 | Data |
N'ime koodu ngwa "UART_Bridge", jiri gCMD1 nweta data dịka ngwugwu iwu wee nyochaa ya. Mgbe ahụ dịka usoro nzikọrịta ozi ahaziri ahazi, tọọ gCMD2 ka ọ bụrụ ngwugwu nzaghachi wee bufee ya. Ihe na-esonụ bụ example nke ngwugwu iwu gCMD1) na ngwugwu nzaghachi (gCMD2). ngwugwu iwu (UARTBridge_CMD1TypeDef gCMD1):
Byte 0 | Byte 1 | Byte 2 ~ Byte 4 |
isi isi | uCmd | data [3] |
"A" | "1" | "x, y, z" |
ngwugwu nzaghachi (UARTBridge_CMD2TypeDef gCMD2):
Byte 0 | Byte 1 | Byte 2 | Byte 3 ~ Byte 5 |
isi isi | uCmdA | uCmdB | data [3] |
"B" | "a" | "1" | "x, y, z" |
Ọrụ akụrụngwa
Na-ewere HT32F52352 dị ka exampN'ezie, egosiri ihe modul UART ji n'okpuru.
HT32F52352 | |
Nha ROM | 946 Bytes |
Ogo RAM | 40*1 + 256*2 Bytes |
Mara:
- Ọdịiche zuru ụwa ọnụ gụnyere ọkọlọtọ na ọkwa maka otu ọwa nwere 40 bytes nke RAM.
- Nke a bụ maka ọnọdụ ebe a na-eji otu ọwa yana ihe nchekwa TX/RX bụ 128/128 bytes. Enwere ike ịtọ nha ihe nchekwa dịka ngwa chọrọ.
Tebụl 4. Ọrụ akụrụngwa akụrụngwa
- gburugburu mkpokọta: MDK-Arm V5.36, ARMCC V5.06 nwelite 7 (wuo 960)
- Bulite nhọrọ: Ọkwa 2 (-O2)
Ntuziaka maka ojiji
Isiakwụkwọ a ga-ewebata nkwadebe gburugburu ebe obibi maka koodu ngwa "Module_UART", yana usoro nchịkọta na ule nyocha.
Nkwadebe gburugburu ebe obibi
Akụrụngwa na ngwanrọ achọrọ maka koodu ngwa “Module_UART” ka edepụtara n'okpuru.
Tebụl 5. Ngwaike/Nkwadebe Gburugburu Ebe Obibi
Akụrụngwa/Software | Gụọ | Rịba ama |
Ngwa mmalite | 1 | Ihe ndetu ngwa a na-eji HT32F52352 Starter Kit dị ka example |
eriri USB | 1 | Micro USB, jikọọ na PC |
Koodu ngwa | — | Ụzọ nbudata, file a na-ewebata nhazi ndekọ aha na ngalaba "Nbudata na Nkwadebe Resource. Ụzọ:"\applicationModule_UARTUART_Module_Example ” |
Ogologo oge | — | Rụtụ aka na ngalaba “Terminal Software”. |
Keil IDE | — | Keil uVision V5.xx |
Nke mbụ, jiri HT32F52352 Starter Kit jikọtara ya na ọrụ Virtual COM Port (VCP) nke e-Link32 Lite maka ntinye ngwa UART. Nke a chọrọ nkwado gburugburu ebe obibi ka emejuputa ya:
- Enwere eriri USB abụọ na bọọdụ ahụ. Jiri eriri USB jikọọ PC na interface eLink32 Lite dị na bọọdụ dị ka egosiri na eserese 16- (a).
- Dị ka koodu ngwa kwesịrị iji ọrụ e-Link32 Lite Virtual COM Port (VCP), hụ na PAx * 2 na DAP_Tx nke UART Jumper-J2 * 1 ejirila jumper mechie. E gosipụtara ọnọdụ J2 site na eserese 16-(b).
Rịba ama
- J2 na Kit Starter nwere nhọrọ abụọ, PAx na DAP_Tx shorted ma ọ bụ PAx na RS232_Tx shorted. Rụtụ aka na ntuziaka onye ọrụ Starter Kit maka ọrụ ntọala zuru ezu.
- Ebe pin MCU UART RX dị na ngwa mmalite dị iche iche. Nke a example na-eji PAx gosi pin RX.
Ọgụgụ 16. HT32 Starter Kit Block Eserese
Ugbu a jiri bọọdụ ebumnuche onye ọrụ jikọtara yana ọrụ Virtual COM Port (VCP) nke e-Link32 Pro maka mmeghe ngwa UART. Nke a chọrọ nkwado gburugburu ebe obibi ka emejuputa ya:
- Otu akụkụ nke e-Link32 Pro jikọọ na PC site na iji eriri USB Obere na akụkụ nke ọzọ jikọtara ya na bọọdụ lekwasịrị anya site na eriri 10-bit isi awọ. A na-emejuputa njikọ dị n'etiti oghere SWD nke eriri USB na bọọdụ ebumnuche site na iji ahịrị Dupont, dị ka egosiri na eserese 17- (a).
- Oghere Usoro nzikọrịta ozi nke e-Link32 Pro bụ Pin#7 VCOM_RXD na Pin#8- VCOM_TXD. Ekwesịrị ijikọ ndị a na ntụtụ TX na RX nke bọọdụ ebumnuche onye ọrụ, dịka egosiri na eserese 17- (b).
Ọgụgụ 17. e-Link32 Pro + Onye ọrụ Target Board Block Eserese
Mkpokọta na ule
Nkebi a ga-ewere “applicationModule_UARTUART_Module_Example" dị ka exampka iwebata usoro nchịkọta na ule. Tupu nke a, hụ na etinyerela nkwadobe niile akọwara na ngalaba gara aga yana ebudatala ngwa ngwa Tera Term.
A na-achịkọta usoro ọrụ zuru ezu n'okpuru.
Nzọụkwụ 1. Nnwale ike
Hazie gburugburu ngwaike dị ka akọwara na ngalaba gara aga. Mgbe agbanyere ọkụ, a ga-amụnye ọkụ D9 ike dị na aka ekpe nke ngwa Starter. A ga-amụnye ọkụ D1 USB LED na e-Link32 Lite na aka nri elu ka emechara ngụkọ USB. Ọ bụrụ na agbanyeghị D1 ka ogologo oge gachara, gosi ma eriri USB nwere ike ịkparịta ụka. Ọ bụrụ na ọ bụghị, wepụ ya ma tinyegharịa ya ọzọ.
Nzọụkwụ 2. Mepụta oru ngo
Mepee ngwa\Module_UARTUART_Module_Exampna nchekwa, pịa na _CreateProject.bat file iji mepụta oru ngo, dị ka egosiri na Figure 18. Ebe ọ bụ na ndetu ngwa a na-eji HT32F52352 Starter Kit, mepee Keil IDE project "Project_52352.uvprojx" dị n'okpuru nchekwa MDK_ARMv5.
Ọgụgụ 18. Execute _CreateProject.bat iji mepụta Project
Nzọụkwụ 3. Chịkọta na mmemme
Mgbe emepechara ọrụ ahụ, buru ụzọ pịa “Mee” (ma ọ bụ jiri ụzọ mkpirisi “F7”), wee pịa “Download” (ma ọ bụ jiri ụzọ mkpirisi “F8”). Mgbe nke a gasịrị, a ga-egosipụta nsonaazụ nrụpụta na nbudata na windo Mee mmepụta. Lee foto 19.
Ọgụgụ 19. Wụpụta ma budata nsonaazụ
Nzọụkwụ 4. Mepee ngwanro Tera Term wee hazie ọdụ ụgbọ mmiri serial
Mepee Tera Term software na ọdụ ụgbọ mmiri COM. Lezienụ anya ma nọmba ọdụ ụgbọ mmiri COM nke Starter Kit mere ziri ezi ma ọ bụ na ọ bụghị. Wee pịa "Ntọala >> Serial Port" ịbanye nhazi interface. A na-akọwa nhazi interface UART nke koodu ngwa "Module_UART" na ngalaba "Terminal Software". Egosiri nsonaazụ ntọlite na eserese 20.
Ọgụgụ 20. Nsonaazụ Mbido Serial Port Term Term
Nzọụkwụ 5. Tọgharia usoro ma nwalee
Pịa igodo nrụpụta SK – B1 Tọgharia. Mgbe nke a gasịrị, a "ABCNke a bụ ule!" ozi ga-abụ
bufere site na API na a ga-egosipụta ya na windo Tera Term, dị ka egosiri na Figure 21. Banyere ọrụ nnata, mgbe ị na-abanye data n'ime windo Tera Term, API dị mkpa ga-eji chọpụta ogologo nchekwa nnata. Mgbe data PC natara ruru 5 bytes, a ga-ezigara bytes ise nke data n'usoro. Dịka egosiri na eserese 5, data etinyere n'usoro bụ "22, 1, 2, 3, 4", nke enwetara ma kpebie site na API. Mgbe nke a gasịrị, a ga-ebipụta data "5, 1, 2, 3, 4" mgbe ntinye ise ahụ gasịrị.
Ọgụgụ 21. "Module_UART" Usoro Nnwale Ọrụ Ngwa - Nyefee
Ọgụgụ 22. "Module_UART" Usoro Nnwale Ọrụ Ngwa - Anata
Ntuziaka ntụgharị
Akụkụ a ga-ewebata otu esi ejikọta API n'ime ọrụ onye ọrụ.
Nzọụkwụ 1. Tinye uart_module.c file banye oru ngo. Pịa aka nri na folda onye ọrụ. Họrọ “Tinye dị adị Files ka Otu 'Onye ọrụ'…”, wee họrọ uart_module.c file wee pịa “Tinye”, dị ka egosiri na eserese 23. Rụtụ aka na ngalaba “Akwụkwọ ntuziaka” maka file nkọwa ụzọ.
Ọgụgụ 23. Tinye uart_module.c File na Project
Nzọụkwụ 2. Tinye ring_buffer.c file banye oru ngo. Pịa aka nri na folda onye ọrụ. Họrọ “Tinye dị adị Files na Otu 'Onye ọrụ'…”, wee họrọ ring_buffer.c file wee pịa “Tinye”, dị ka egosiri na eserese 24. \ Rụtụ aka na ngalaba “Akwụkwọ ntuziaka” maka ngalaba file nkọwa ụzọ.
Ọgụgụ 24. Tinye ring_buffer.c File na Project
Nzọụkwụ 3. Tinye nkụnye eji isi mee API file n'ime mmalite nke main.c, dị ka e gosiri na Figure 25. (Ext: #include "middware/uart_module.h")
Ọgụgụ 25. Tinye isi ihe API File na isi.c
Nzọụkwụ 4. Mejuputa ntọala achọrọ maka nzikọrịta ozi UART site na iji ht32_board_config.h file. Ewebata nke a n'ụzọ zuru ezu na ngalaba "Nkọwa Ntọala" na "Ntọala Mgbanwe na FAQ".
Ịtọlite mgbanwe na FAQs
Nkebi a ga-ewebata otu esi agbanwe ntọala UART wee kọwapụta ụfọdụ ajụjụ ndị a na-enwekarị mgbe a na-eji ya eme ihe.
Gbanwee ọrụ ntụtụ UART
- Na-ezo aka na HT32F52352 Datasheet “Nnyenye Pin” isi, lelee tebulu Maping ọzọ nke depụtara ọrụ AFIO nke ụdị ngwaọrụ ahụ. Maka ntụtụ dị mkpa UART, rụtụ aka na kọlụm “AF6 USART/UART” dị ka egosiri na eserese 26.
Ọgụgụ 26. HT32F52352 Tebụl eserese ọrụ ọzọ
- Nzọụkwụ a ga-eduzi ndị ọrụ ka ha chọta ntụtụ UART kwekọrọ na iji tebụl dị n'elu. HT32F52352 example na-eji USART1 dị ka ọwa ndabara. N'ebe a, ntụtụ TX na RX bụ USR1_TX na USR1_RX ma dị na PA4 na PA5 n'otu n'otu. Onyonyo 27 na-egosi nzikọrịta ozi pin yana nkowa pin na "ht32_board_config.h". Oghere efu nke “Ngwugwu” dị na tebụl ọrụ ntụtụ pụtara na enweghị GPIO dị mkpa na ngwugwu a. Iji megharịa ntụtụ UART, chọta ebe a na-atụ anya ntụtụ wee kọwagharịa ntụtụ ahụ site na iji “ht32_board_config.h” file.
Ọgụgụ 27. Nkwekọrịta Pin na Ngbanwe Nhazi
Tinye ọwa UART
Na-ewere HT32F52352 HTCFG_UARTM_CH1 dị ka examplee, ebe a ka akọwara otu esi etinye ọwa UART ọhụrụ.
Megharịa ht32_board_config.h file
Na-ezo aka na HT32F52352 Datasheet “Nnyenye Pin” isi, lelee tebulu Maping ọzọ nke depụtara ọrụ AFIO nke ụdị ngwaọrụ ahụ. Dịka e jirila USART1 dị ka HTCFG_UARTM_CH0, HTCFG_UARTM_CH1 agbakwunyere ọhụrụ nwere ike họrọ USART0. N'ebe a, TX na RX atụdo dị na PA2 na PA3 n'otu n'otu, dị ka egosiri na ọkara elu nke Figure 28. A na-eme mgbanwe ndị kwekọrọ na ya site na iji akara koodu 120 ~ 126 na ht32_board_config.h, dị ka e gosiri site na-acha uhie uhie igbe dị na Figure 28.
Ọgụgụ 28. Tinye ọwa UART
Ajụjụ
Q: Na nzọụkwụ 5 nke ngalaba mkpokọta na ule, nnwale arụ ọrụ na-ebufe bụ ihe nkịtị. Ebe a, "ABCNke a bụ ule!" egosipụtala ozi nke ọma, mana maka ọrụ nnata, gịnị kpatara na anaghị eweghachite ma gosipụta ụkpụrụ ntinye ise ahụ?
A: Lelee ma MCU UART RX na DAP_Tx ntụtụ nke UART Jumper-J2 ejirila jumper mechie. Dị ka koodu ngwa “Module_UART” kwesịrị iji Virtual COM Port (VCP) nke e-Link32 Lite, a ga-etinye ọnọdụ mkpirisi n'akụkụ aka ekpe abụọ nke UART Jumper-J2, dị ka egosiri na eserese 29.
Ọgụgụ 29. UART Jumper-J2 Ntọala
Ajụjụ: Mgbe na-eme "Mee"(ma ọ bụ ụzọ mkpirisi "F7"), ozi mperi pụtara na-egosi na ụdị ọba akwụkwọ firmware tọrọ nke a chọrọ? Lee foto 30.
A: Mmejuputa koodu ngwa “Module_UART” kwesịrị ịgụnye uart_module.c/h files nke nwere ihe achọrọ maka ụfọdụ ụdị ọba akwụkwọ firmware. Mgbe ozi njehie dị otú ahụ pụtara, ọ pụtara na ọba akwụkwọ firmware eji ugbu a bụ ụdị ochie. Ya mere ọ dị mkpa ibudata ụdị kachasị ọhụrụ site na njikọ enyere na ngalaba "Firmware Library".
Ọgụgụ 30. Ozi mperi ụdị ọba akwụkwọ Firmware
Mmechi
Akwụkwọ a ewepụtala mmalite mmalite iji nyere ndị ọrụ aka ịghọta nke ọma koodu ngwa “Module_UART” yana ụkpụrụ nkwukọrịta UART. Nke a sochiri nbudata na nkwadebe akụrụngwa. Isi nke nkọwa ọrụ webatara ihe file Nhazi ndekọ aha, ihe owuwu API, nkọwa API na ojiji API examples. Ntuziaka ntuziaka maka ojiji Isi nke gosipụtara nkwado gburugburu ebe obibi, nchịkọta na nnwale nke koodu ngwa "Module_UART". Ọ nyekwara ntuziaka maka ntụgharị koodu na nhazi mgbanwe yana ịkọwa ụfọdụ nsogbu nkịtị nwere ike ihute. Ngwakọta ndị a niile ga-enye ndị ọrụ ohere ịghọta ngwa ngwa ka esi eji API wee belata oge iji malite.
Ihe nrụtụ aka
Maka ozi ndị ọzọ, rụtụ aka na Holtek webWeebụsaịtị: www.holtek.com
Ụdị na ozi mgbanwe
Ụbọchị | Odee | Hapụ | Ozi mgbanwe |
2022.04.30 | 蔡期育(Chi-Yu Tsai) | V1.00 | Ụdị nke mbụ |
Nkwuputa
Ozi niile, ụghalaahịa, akara ngosi, eserese, vidiyo, obere vidiyo, njikọ na ihe ndị ọzọ pụtara na nke a websaịtị ('Ozi') bụ maka ntụaka naanị ma nwee ike ịgbanwe n'oge ọ bụla na-enweghị ọkwa mbụ yana n'uche nke Holtek Semiconductor Inc. na ụlọ ọrụ ndị metụtara ya (nke a 'Holtek', 'ụlọ ọrụ', 'anyị', ' anyị' ma ọ bụ 'anyị'). Ebe Holtek na-agba mbọ hụ na ozi dị na nke a ziri ezi websaịtị, ọnweghị akwụkwọ ikike awara awara ma ọ bụ nke doro anya Holtek nyere maka izi ezi nke ozi ahụ. Holtek agaghị ebu ọrụ maka ezighi ezi ma ọ bụ ntapu ọ bụla.
Holtek agaghị akwụ ụgwọ maka mmebi ọ bụla (gụnyere ma ọnweghị oke na nje kọmputa, nsogbu sistemụ ma ọ bụ mfu data) ihe ọ bụla sitere na iji ma ọ bụ n'ihe metụtara iji nke a. websaịtị site na onye ọ bụla. Enwere ike ịnwe njikọ na mpaghara a, nke na-enye gị ohere ịga leta websaịtị nke ụlọ ọrụ ndị ọzọ.
Ndị a webHoltek anaghị achịkwa saịtị. Holtek agaghị ebu ibu ọrụ yana enweghị nkwa na ozi ọ bụla egosipụtara na saịtị ndị ahụ. Hyperlinks na ndị ọzọ websaịtị dị n'ihe egwu nke gị.
Mmachi nke ibu
Ọ nweghị ihe ọ bụla Holtek Limited ga-akwụ ụgwọ maka ndị ọ bụla ọzọ maka mfu ma ọ bụ mebie ihe ọ bụla ma ọ bụ agbanyeghị kpatara ozugbo ma ọ bụ na-apụtaghị ìhè n'ihe gbasara ịnweta ma ọ bụ iji nke a. websaịtị, ọdịnaya dị na ya ma ọ bụ ngwongwo, ihe ma ọ bụ ọrụ ọ bụla.
Iwu Ọchịchị
Disclaimer dị n'ime webA ga-achịkwa ma kọwaa saịtị dịka iwu nke Republic of China siri dị. Ndị ọrụ ga-edo onwe ha n'okpuru ikike na-enweghị isi nke ụlọ ikpe Republic of China.
Mmelite nke Disclaimer
Holtek nwere ikike imelite Disclaimer n'oge ọ bụla na ma ọ bụ na-enweghị ọkwa mbụ, mgbanwe niile na-arụ ọrụ ozugbo na ikesa na websaịtị.
Akwụkwọ / akụrụngwa
![]() |
HOLTEK HT32 MCU UART ndetu ngwa [pdf] Akwụkwọ ntuziaka onye ọrụ HT32 MCU, UART Ngwa ndetu, HT32 MCU UART, Ngwa ndetu, HT32, MCU UART ndetu Ngwa, HT32 MCU UART ndetu ngwa. |