Holtek HT32 MCU Touch Key Library
Introduzione
A libreria HT32 touch key sviluppata da Best Solution hè una libreria chì integra in l'MCU tutta a libreria touch key sottostante. files. A biblioteca hà pre-configuratu l'hardware MCU toccu, è furnisce paràmetri intuitivi è flessibili di sensibilità di u toccu, mentre integra funzioni cumuni cum'è a rilevazione di chjave è i modi di sonnu di risparmiu di energia. Utilizà a libreria di chjave di u toccu HT32 simplifica l'usu di e funzioni di u toccu MCU, chì permette à l'utilizatori di inizià rapidamente è riducendu u periodu di sviluppu. Stu documentu descriverà in dettaglio a cunfigurazione ambientale è l'usu di a biblioteca.
Cunfigurazione Ambientale
Ottene HT32 Touch Key Library
Cuntattate FAE di Best Solution o riferite à u so websitu: http://www.bestsolution.com.tw/EN/
O scaricate a biblioteca da Holtek websitu: https://www.holtek.com
Ottene HT32 Firmware Library
Vede u ligame seguente per ottene rapidamente a biblioteca di firmware: https://www.holtek.com/productdetail/-/vg/HT32F54231_41_43_53
Apertura u ligame, selezziunate l'opzione Documenti cum'è mostra in Figura 1, induve a casella rossa indica u locu di l'HT32 cumpressatu. files. Nota chì solu a libreria di firmware di a versione v022 o sopra supporta a biblioteca di chjave HT32 touch.
Cunfigurazione di u prugettu Keil
- U PC di l'utilizatori hà bisognu à avè u strumentu di sviluppu Keil installatu.
- Unzip a biblioteca di firmware. U files sò listati cum'è mostra in a Figura 2. Cliccate nantu à Holtek.HT32_DFP.latest per stallà, dopu chì a pantalla di cumpiimentu di a stallazione, cum'è mostra in Figura 3, appariscerà.
- Unzip a libreria di chjave HT32 touch chì include dui cartulare, example è biblioteca.
- Copia l'exampi cartulare è a biblioteca à u cartulare HT32_STD_xxxxx_FWLib_v022_XXXX.
- Eseguite ..\example\TouchKey\TouchKey_LIB\_CreateProject.bat (Figura 6).
- Una interfaccia, cum'è mostra in Figura 7, appariscerà. Ingressu u numeru currispundenti à l'IDE di l'utilizatori, dopu chì un segnu "*" appariscerà prima di l'IDE sceltu, cum'è mostra in Figura 8. Input "N" per andà à u passu prossimu.
- Comu mostra quì sottu, inserite "*" per creà prughjetti per tutti i tipi di IC o inserite u nome IC per creà un prughjettu per u IC sceltu.
- Dopu avè finitu i passi 1 ~ 7, cum'è mostra in Figura 11, selezziunate u prughjettu IC desideratu cum'è Project_54xxx.uvprojx da u ..\example\TouchKey\TouchKey_LIB\MDK_ARMv5\ path.
Nota chì solu u MCU cù e più grande risorse in ogni serie hè utilizatu per creà u prugettu. Per esample, per utilizà l'utilizatori HT32F54231 deve selezziunà u prughjettu HT32F54241.
Considerazioni
Siccomu u prugramma di chjave di u toccu pò entre in u statu di u sonnu, hè necessariu di stabilisce u prugettu per accende u reset, altrimenti ùn serà micca dispunibule per a prugrammazione. I passi di cunfigurazione sò i seguenti.
- Passu 1: Cliccate u buttone in u menù di u strumentu Keil5, cum'è mostra quì sottu.
- Passu 2: Selezziunà Debug-> Settings.
- Passu 3: Selezziunà "sottu Reset" in u campu di Cunnette.
Biblioteca Files Descrizzione
Risorse Aduprate Biblioteche
Prughjettu Keil | IC utilizzabile | ROM/RAM Risorse | IP utilizatu | Max. Numero di Chjavi |
HT32F54241 | HT32F54241 HT32F54231 | 7148B / 2256B | Touch key
BFTM0 RTC |
24 |
HT32F54253 | HT32F54243 HT32F54253 | 7140B / 2528B | Touch key BFTM0
RTC |
28 |
- L'RTC hè utilizatu per svegliate MCU da u statu di u sonnu è utilizatu cum'è basa di tempu per u processu di u statu di u sonnu.
- Quandu u prugramma hè caricatu in l'IC, u Keil determina se a dimensione ROM o RAM hè stata superata.
- Per l'usu specificu di risorse, riferite à a versione attuale di a biblioteca.
Ambiente è File Descrizzione
A libreria di chjave di u toccu HT32 si trova in u percorsu seguente. ..\example\TouchKey\TouchKey_LIB\MDK_ARMv5\Project_542xx.uvprojx prughjettu (Figura 15). Dopu à l'apertura di u prughjettu di a biblioteca di chjave HT32, a pantalla principale hè mostrata cum'è Figura 16.
U pertinenti files sò descritti cum'è seguitu, trà i quali sò i ht32_TouchKey_conf.h è system_ht32f5xxxx_09.c files, inclusa in l'Assistente di cunfigurazione. Vede a figura 17.
File Nome | Descrizzione |
principale.c | U prugramma principale di u prughjettu file |
ht32f5xxxx_01_it.c | Interrompe u prugramma principale file |
ht32_TouchKey_Lib_Mx_Keil.lib | Biblioteca di cuntrollu touch file |
*ht32_TouchKey_conf.h | Paràmetru di cuntrollu Touch file |
ht32_TouchKey.h | Definizione di dichjarazione esterna file |
ht32_TouchKey_BSconf.h | Parametru principale sottu file (micca cunsigliatu per mudificà) |
ht32_board_config.h | Definizione di hardware file (micca cunsigliatu per mudificà) |
*system_ht32f5xxxx_09.c | Fonte di clock è paràmetru di clock di u sistema file |
Parametri di l'assistente di cunfigurazione
- ht32_TouchKey_conf.h Parametri di l'assistente di cunfigurazione:
Nome Funzione PowerSave Attivate a prucedura di sonnu predeterminata definita in main.c TKL_High Sensitive Impostazione di sensibilità di u toccu: sensibilità alta o bassa; predeterminatu à alta sensibilità dopu esse attivatu TKL_keyDebounce Impostazione di u tempu di debonce chjave TKL_RefCalTime Tempu di calibrazione. U più cortu u tempu, u più efficau serà in resistenza à l'interferenza ambientale, ma risulterà in sensibilità chjave più bassu. TKL_MaxOnHoldTime U tempu massimu chì a chjave hè pressata. A chjave hè liberata automaticamente dopu esse premuta per n seconde. KEYn_FR Attivà o disattivà KEYn KeynThreshold KEYn valore di soglia. U più chjucu u valore, più sensibile serà a chjave. - system_ht32f5xxxx_09.c Parametri di l'Assistente di cunfigurazione:
Nome Funzione Abilita l'Oscillatore Cristalli Esternu à Alta Velocità - HSE Abilita o disattiveghja HSE (oscillatore esterno à alta velocità) Habilita l'oscillatore di cristalli esterni à bassa velocità - LSE Attivà o disattivà LSE (oscillatore esterno à bassa velocità) Habilita PLL Attivà o disattivà PLL PLL Clock Source Selezziunà a fonte di u clock per PLL SystemCoreClockConfiguration (CK_AHB) Selezziunate a fonte di clock per u sistema CK_AHB
Descrizzione di e funzioni di l'interfaccia Touch Key Lib
Descrizzione di Get Functions
Articulu | Descrizzione |
Nome di funzione | TKL_Get_Standby |
Parametru di ingressu | — |
Riturnà u valore | Valore di cunti (500 ~ 60000) |
Descrizzione | Adupratu per ottene u valore di u cuntatore à u cuntu |
Articulu | Descrizzione |
Nome di funzione | TKL_Get_KeyRCCValue |
Parametru di ingressu | Valore chjave (0 ~ valore max. chjave), frequenza (0, 1) |
Riturnà u valore | Valore di capacità (0 ~ 1023) |
Descrizzione | Adupratu per ottene u valore di capacità di a chjave specifica |
Articulu | Descrizzione |
Nome di funzione | TKL_GetKeyRef |
Parametru di ingressu | Valore chjave (0 ~ valore max. chjave) |
Riturnà u valore | Valore di riferenza (0 ~ 65535) |
Descrizzione | Adupratu per ottene u valore di riferimentu di a chjave specifica |
Articulu | Descrizzione |
Nome di funzione | TKL_GetKeyThreshold |
Parametru di ingressu | Valore chjave (0 ~ valore max. chjave) |
Riturnà u valore | Valeur limite (0~255) |
Descrizzione | Adupratu per ottene u valore di u limitu di a chjave specifica |
Articulu | Descrizzione |
Nome di funzione | TKL_Get_AllKeyState |
Parametru di ingressu | — |
Riturnà u valore | Statu di chjave (32-bit)
BITn significa KEYn state Bit0 = 1 significa chì KEY0 hè pressatu, Bit0 = 0 significa chì KEY0 ùn hè micca pressatu |
Descrizzione | Adupratu per ottene tutti i stati chjave |
Descrizzione di e Funzioni Set
Articulu | Descrizzione |
Nome di funzione | TKL_Set_KeyThreshold |
Parametru di ingressu | Valore di chjave (0 ~ valore massimu di chjave), valore di soglia (10 ~ 127) |
Riturnà u valore | — |
Descrizzione | Adupratu per stabilisce u valore di u limitu di a chjave specifica |
Articulu | Descrizzione |
Nome di funzione | TKL_Set_Standby |
Parametru di ingressu | Tempu di sonnu (500 ~ 60000) |
Riturnà u valore | — |
Descrizzione | Adupratu per stabilisce u contatore di cunti à a robba (micca cunsigliatu per aduprà sta funzione) |
Descrizzione di Funzioni di Statu è Command
Articulu | Descrizzione |
Nome di funzione | TKL_Is_Time |
Parametru di ingressu | Custante predefinita (kT2mS, kT4mS...kT2048mS) |
Riturnà u valore | — |
Descrizzione | Bandiera di u tempu per riferimentu d'utilizatori.
In i seguenti example, u prugramma entre in a funzione ogni 2ms. |
Articulu | Descrizzione |
Nome di funzione | TKL_Is_AnyKeyPress |
Parametru di ingressu | — |
Riturnà u valore | 1 = una o più chjave hè stata attivata; 0 = nisuna chjave hè stata attivata |
Descrizzione | Adupratu per ottene a bandiera di stampa di chjave |
Articulu | Descrizzione |
Nome di funzione | TKL_Is_KeyPress |
Parametru di ingressu | Valore chjave (0 ~ valore max. chjave) |
Riturnà u valore | 1 = a chjave hè stata attivata; 0 = a chjave ùn hè micca attivata |
Descrizzione | Adupratu per ottene a bandiera statale di a chjave specifica |
Articulu | Descrizzione |
Nome di funzione | TKL_Is_Active |
Parametru di ingressu | — |
Riturnà u valore | 1 = L'inizializazione di LIB hè finita; 0 = L'inizializazione di LIB ùn hè micca finita |
Descrizzione | Adupratu per ottene a bandiera di u statu di inizializazione LIB |
Articulu | Descrizzione |
Nome di funzione | TKL_Is_Standby |
Parametru di ingressu | — |
Riturnà u valore | 1 = permessu di entre in u statu di sonnu; 0 = ùn hè micca permessu di entre in u statu di sonnu |
Descrizzione | Adupratu per ottene a bandiera di u statu di u sonnu.
* Quandu un valore di 0 hè tornatu, allora entre in u statu di sonnu pò esse risultatu in un statu inespettatu. |
Articulu | Descrizzione |
Nome di funzione | TKL_Is_KeyScanCycle |
Parametru di ingressu | — |
Riturnà u valore | 1 = a scansione hè finita; 0 = attualmente in scansione |
Descrizzione | Adupratu per ottene a bandiera di scansione |
Articulu | Descrizzione |
Nome di funzione | TKL_Reset |
Parametru di ingressu | — |
Riturnà u valore | — |
Descrizzione | Adupratu per obligà LIB à eseguisce una azione di reset.
* I flags usati da LIB è RAM seranu inizializzati. * I parametri è AFIO sò esclusi. |
Descrizzione di e Funzioni di Inizializazione Touch Key Lib
Sti funzioni sò situati in main.c. Ùn hè cunsigliatu per mudificà u so cuntenutu.
Nome | Funzione |
GPIO_Configuration() | Cunfigurazioni di u portu I/O |
RTC_Configurazione () | I tasti touch sò svegliati da u RTC |
BFTM_Configurazione () | I basi di u tempu di a biblioteca di chjave Touch sò implementati da BFTM |
TKL_Configurazione () | Toccate cunfigurazioni chjave |
Interrogazione di u Statu chjave
As mustratu sottu, u prugramma principale include una chjave toccu example chì ùn serà micca attivatu per automaticamente. Per attivà sta funzione, mudificà (0) dopu #if à (1).
Modu Sleep Description
- In ht32_TouchKey_conf.h, selezziunate PowerSave per attivà i modi di sonnu.
- Dopu chì i modi di sonnu sò stati attivati, i chjavi di u toccu entreranu in u statu di u sonnu se e chjavi ùn anu micca sperimentatu alcuna cundizione di toccu per un certu periodu di tempu.
- Una funzione di conte di u tempu di standby hè aduprata per u conteggio, l'ora attuale hè ottenuta cù TKL_Get_Standby è u paràmetru di u tempu hè stabilitu cù TKL_Set_Standby.
- Ci sò trè opzioni di modu di sonnu.
Modu Descrizzione USE_SLEEP_MODE Entre in Modu Sonnu USE_DEEP_SLEEP1_MODE Entra in u Modu Deep Sleep1 USE_DEEP_SLEEP2_MODE Entra in u Modu Deep Sleep2 - Comu mostra quì sottu, stabilisce u modu di sonnu necessariu cù "#define" in u principale file.
Cunclusioni
Stu documentu hà furnitu struzzioni per a stallazione di tuttu l'ambiente di sviluppu di chjave HT32 touch, aiutendu l'utilizatori à inizià rapidamente. Inoltre, i risorsi utilizati da a biblioteca, è ancu diverse funzioni è paràmetri, sò stati spiegati in dettagliu, chì permettenu un prucessu di sviluppu più faciule.
Materiale di riferimentu
Per più dettagli, riferite à Holtek websitu: www.holtek.com o cunsultate a Best Solution websitu: http://www.bestsolution.com.tw/EN/
Versioni è infurmazione di mudificazione:
Data | Autore | Libera | Descrizzione |
2022.03.16 | 谢东霖、梁德浩 | V1.00 | Prima versione |
Disclaimer
Tutte l'infurmazioni, i marchi, i loghi, i grafici, i video, i clips audio, i ligami è altri elementi chì appariscenu nantu à questu web('Informazioni') sò solu per riferimentu è sò sottumessi à cambià in ogni mumentu senza preavvisu è à a discrezione di Holtek Semiconductor Inc. noi" o "nostru"). Mentre Holtek s'impegna à assicurà l'accuratezza di l'infurmazioni nantu à questu websitu, nisuna garanzia espressa o implicita hè datu da Holtek à l'accuratezza di l'Informazioni. Holtek ùn hà micca rispunsabilità per qualsiasi incorrezzione o fuga.
Holtek ùn serà micca rispunsevule per qualsiasi dannu (cumpresu, ma senza limitazione, virus di l'informatica, prublemi di sistema o perdita di dati) qualunque sia in l'usu o in cunnessione cù l'usu di questu. websitu da ogni partitu. Ci ponu esse ligami in questa zona, chì permettenu di visità u websiti di altre imprese. Quessi websiti ùn sò micca cuntrullati da Holtek. Holtek ùn hà micca rispunsabilità è nisuna garanzia per qualsiasi infurmazione affissata in tali siti. Hyperlinks à l'altri webi siti sò à u vostru propiu risicu.
Limitazione di Responsabilità
In ogni casu, Holtek Limited ùn serà rispunsabili di qualsiasi altra parte per qualsiasi perdita o dannu, o qualunque sia causatu direttamente o indirettamente in cunnessione cù u vostru accessu o usu di questu. websitu, u cuntenutu in questu o qualsiasi beni, materiali o servizii.
Legge chì guverna
A Disclaimer contenuta in u webU situ serà guvernatu è interpretatu in cunfurmità cù e lege di a Republica di Cina. L'utilizatori si sottumetteranu à a ghjuridizione micca esclusiva di i tribunali di a Republica di Cina.
Actualizazione di Disclaimer
Holtek si riserva u dirittu di aghjurnà a Disclaimer in ogni mumentu cù o senza preavvisu, tutti i cambiamenti sò efficaci immediatamente dopu a pubblicazione à u websitu.
Documenti / Risorse
![]() |
Holtek HT32 MCU Touch Key Library [pdfGuida di l'utente HT32, MCU Touch Key Library, HT32 MCU Touch Key Library |