Libreria tasti touch MCU Holtek HT32
Introduzione
La libreria di tasti tattili HT32 sviluppata da Best Solution è una libreria che integra nell'MCU tutta la libreria di driver alla base dei tasti tattili fileS. La libreria ha preconfigurato l'hardware MCU relativo al tocco e fornisce impostazioni di sensibilità dei tasti tattili intuitive e flessibili, integrando funzioni comuni come il rilevamento dei tasti e le modalità di sospensione a risparmio energetico. L'utilizzo della libreria di tasti tattili HT32 semplifica l'uso delle funzioni tattili dell'MCU, consentendo agli utenti di iniziare rapidamente e riducendo il periodo di sviluppo. Questo documento descriverà in dettaglio la configurazione dell'ambiente e l'utilizzo della libreria.
Configurazione ambientale
Ottieni la libreria di tasti tattili HT32
Contatta la FAE di Best Solution o fai riferimento alla sua websito: http://www.bestsolution.com.tw/EN/
Oppure scarica la libreria da Holtek websito: https://www.holtek.com
Ottieni la libreria firmware HT32
Fare riferimento al seguente collegamento per ottenere rapidamente la libreria del firmware: https://www.holtek.com/productdetail/-/vg/HT32F54231_41_43_53
Aprire il collegamento, selezionare l'opzione Documenti come mostrato in Figura 1, dove la casella rossa indica la posizione dell'HT32 compresso fileS. Si noti che solo la libreria del firmware della versione v022 o successiva supporta la libreria di tasti touch HT32.
Configurazione del progetto Keil
- Sul PC dell'utente deve essere installato lo strumento di sviluppo Keil.
- Decomprimere la libreria del firmware. Il filesono elencati come mostrato nella Figura 2. Fare clic su Holtek.HT32_DFP.latest per installarlo, dopodiché verrà visualizzata la schermata di completamento dell'installazione, come mostrato nella Figura 3.
- Decomprimi la libreria dei tasti touch HT32 che include due cartelle, ad esample e biblioteca.
- Copia l'esample e librerie nella cartella HT32_STD_xxxxx_FWLib_v022_XXXX.
- Esegui ..\example\TouchKey\TouchKey_LIB\_CreateProject.bat (Figura 6).
- Apparirà un'interfaccia, come mostrato nella Figura 7. Immettere il numero corrispondente all'IDE dell'utente, dopodiché verrà visualizzato un segno “*” prima dell'IDE selezionato, come mostrato nella Figura 8. Immettere “N” per andare al passaggio successivo.
- Come mostrato di seguito, inserire "*" per creare progetti per tutti i tipi di IC o inserire il nome dell'IC per creare un progetto per l'IC selezionato.
- Dopo aver completato i passaggi 1~7, come mostrato nella Figura 11, selezionare il progetto IC desiderato come Project_54xxx.uvprojx da ..\example\TouchKey\TouchKey_LIB\MDK_ARMv5\ percorso.
Nota che per creare il progetto venga utilizzato solo l'MCU con le maggiori risorse in ciascuna serie. Per esample, per utilizzare HT32F54231 gli utenti devono selezionare il progetto HT32F54241.
Considerazioni
Poiché il programma del tasto touch può entrare nello stato di sospensione, è necessario impostare il progetto per il ripristino all'accensione, altrimenti non sarà disponibile per la programmazione. Le fasi di impostazione sono le seguenti.
- Fase 1: Fare clic sul pulsante nel menu degli strumenti Keil5, come mostrato di seguito.
- Fase 2: Seleziona Debug-> Impostazioni.
- Fase 3: Selezionare "sotto Reimposta" nel campo Connetti.
Biblioteca FileDescrizione
Risorse utilizzate dalla biblioteca
Progetto Keil | CI utilizzabile | Memoria ROM/RAM Risorse | IP utilizzato | Massimo. Numero di chiavi |
Modello: HT32F54241 | HT32F54241 HT32F54231 | 7148B/2256B | Tasto touch
BFTM0 RTC |
24 |
Modello: HT32F54253 | HT32F54243 HT32F54253 | 7140B/2528B | Tasto a sfioramento BFTM0
RTC |
28 |
- L'RTC viene utilizzato per riattivare l'MCU dallo stato di sospensione e utilizzato come base temporale per l'elaborazione dello stato di sospensione.
- Quando il programma viene caricato nell'IC, il Keil determinerà se la dimensione della ROM o della RAM è stata superata.
- Per l'uso specifico delle risorse, fare riferimento alla versione effettiva della libreria.
Ambiente e File Descrizione
La libreria di tasti tattili HT32 si trova nel seguente percorso. ..\example\TouchKey\TouchKey_LIB\MDK_ARMv5\Project_542xx.uvprojx project (Figura 15). Dopo aver aperto il progetto della libreria di tasti tattili HT32, la schermata principale viene mostrata come Figura 16.
Il pertinente files sono descritti come segue, tra cui ht32_TouchKey_conf.h e system_ht32f5xxxx_09.c files, incluso nella procedura guidata di configurazione. Vedere Figura 17.
File Nome | Descrizione |
principale.c | Programma principale del progetto file |
ht32f5xxxx_01_it.c | Interrompere il programma principale file |
ht32_TouchKey_Lib_Mx_Keil.lib | Libreria di controllo touch file |
*ht32_TouchKey_conf.h | Parametro di controllo touch file |
ht32_TouchKey.h | Definizione dichiarazione esterna file |
ht32_TouchKey_BSconf.h | Parametro principale sottostante file (sconsigliato modificare) |
ht32_board_config.h | Definizione dell'hardware file (sconsigliato modificare) |
*system_ht32f5xxxx_09.c | Sorgente di clock e parametro dell'orologio di sistema file |
Parametri della procedura guidata di configurazione
- ht32_TouchKey_conf.h Parametri della procedura guidata di configurazione:
Nome Funzione Risparmio energetico Attiva la procedura di sospensione predefinita definita in main.c TKL_HighSensitive Impostazione della sensibilità al tocco: sensibilità alta o bassa; impostazione predefinita su alta sensibilità dopo essere stato abilitato TKL_keyDebounce Impostazione del tempo di antirimbalzo dei tasti TKL_RefCalTime Tempo di calibrazione. Più breve è il tempo, più efficace sarà nel resistere alle interferenze ambientali, tuttavia risulterà in una minore sensibilità dei tasti. TKL_MaxOnHoldTime Il tempo massimo di pressione del tasto. Il tasto viene rilasciato automaticamente dopo essere stato premuto per n secondi. KEYn_IT Abilita o disabilita KEYn Sogliachiave KEYn valore di soglia. Più piccolo è il valore, più sensibile sarà la chiave. - system_ht32f5xxxx_09.c Parametri della procedura guidata di configurazione:
Nome Funzione Abilita l'oscillatore a cristallo esterno ad alta velocità - HSE Abilita o disabilita HSE (oscillatore esterno ad alta velocità) Abilita l'oscillatore a cristallo esterno a bassa velocità - LSE Abilita o disabilita LSE (oscillatore esterno a bassa velocità) Abilita PLL Abilitare o disabilitare PLL Sorgente orologio PLL Seleziona la sorgente di clock per PLL Configurazione SystemCoreClock (CK_AHB) Seleziona la sorgente di clock per il sistema CK_AHB
Descrizione delle funzioni dell'interfaccia Touch Key Lib
Descrizione delle funzioni Get
Articolo | Descrizione |
Nome della funzione | TKL_Get_Standby |
Parametro di input | — |
Valore di ritorno | Valore di conteggio (500~60000) |
Descrizione | Utilizzato per ottenere il valore del contatore del conto alla rovescia |
Articolo | Descrizione |
Nome della funzione | TKL_Get_KeyRCCValue |
Parametro di input | Valore chiave (0 ~ valore massimo chiave), frequenza (0, 1) |
Valore di ritorno | Valore di capacità (0~1023) |
Descrizione | Utilizzato per ottenere il valore di capacità della chiave specificata |
Articolo | Descrizione |
Nome della funzione | TKL_GetKeyRef |
Parametro di input | Valore chiave (0 ~ valore chiave massimo) |
Valore di ritorno | Valore di riferimento (0~65535) |
Descrizione | Utilizzato per ottenere il valore di riferimento della chiave specificata |
Articolo | Descrizione |
Nome della funzione | TKL_GetKeyThreshold |
Parametro di input | Valore chiave (0 ~ valore chiave massimo) |
Valore di ritorno | Valore soglia (0~255) |
Descrizione | Utilizzato per ottenere il valore di soglia della chiave specificata |
Articolo | Descrizione |
Nome della funzione | TKL_Get_AllKeyState |
Parametro di input | — |
Valore di ritorno | Stato chiave (32 bit)
BITn sta per stato KEYn Bit0 = 1 significa che KEY0 è premuto, Bit0 = 0 significa che KEY0 non è premuto |
Descrizione | Utilizzato per ottenere tutti gli stati chiave |
Descrizione delle funzioni impostate
Articolo | Descrizione |
Nome della funzione | TKL_Set_KeyThreshold |
Parametro di input | Valore chiave (0 ~ valore chiave massimo), valore soglia (10~127) |
Valore di ritorno | — |
Descrizione | Utilizzato per impostare il valore di soglia della chiave specificata |
Articolo | Descrizione |
Nome della funzione | TKL_Set_Standby |
Parametro di input | Tempo di sonno (500~60000) |
Valore di ritorno | — |
Descrizione | Utilizzato per impostare il contatore del conto alla rovescia (non è consigliabile utilizzare questa funzione) |
Descrizione delle funzioni di stato e di comando
Articolo | Descrizione |
Nome della funzione | TKL_È_Tempo |
Parametro di input | Costante preimpostata (kT2mS, kT4mS…kT2048mS) |
Valore di ritorno | — |
Descrizione | Contrassegno orario per riferimento utente.
Nel seguente esempioample, il programma entra nella funzione ogni 2ms. |
Articolo | Descrizione |
Nome della funzione | TKL_Is_AnyKeyPress |
Parametro di input | — |
Valore di ritorno | 1 = una o più chiavi sono state attivate; 0 = nessun tasto è stato attivato |
Descrizione | Utilizzato per ottenere il flag di pressione dei tasti |
Articolo | Descrizione |
Nome della funzione | TKL_Is_KeyPress |
Parametro di input | Valore chiave (0 ~ valore chiave massimo) |
Valore di ritorno | 1 = la chiave è stata attivata; 0 = la chiave non è stata attivata |
Descrizione | Utilizzato per ottenere il flag di stato della chiave specificata |
Articolo | Descrizione |
Nome della funzione | TKL_È_attivo |
Parametro di input | — |
Valore di ritorno | 1 = l'inizializzazione della LIB è terminata; 0 = L'inizializzazione LIB non è terminata |
Descrizione | Utilizzato per ottenere il flag di stato di inizializzazione LIB |
Articolo | Descrizione |
Nome della funzione | TKL_Is_Standby |
Parametro di input | — |
Valore di ritorno | 1 = permesso di entrare nello stato di sospensione; 0 = non è consentito entrare nello stato di sospensione |
Descrizione | Utilizzato per ottenere il flag dello stato di sospensione.
*Quando viene restituito un valore pari a 0, l'accesso allo stato di sospensione potrebbe causare uno stato imprevisto. |
Articolo | Descrizione |
Nome della funzione | TKL_Is_KeyScanCycle |
Parametro di input | — |
Valore di ritorno | 1 = la scansione è terminata; 0 = attualmente in scansione |
Descrizione | Utilizzato per ottenere il flag di scansione |
Articolo | Descrizione |
Nome della funzione | TKL_Reimposta |
Parametro di input | — |
Valore di ritorno | — |
Descrizione | Utilizzato per costringere LIB a eseguire un'azione di ripristino.
*I flag utilizzati da LIB e RAM verranno inizializzati. *Parametri e AFIO sono esclusi. |
Descrizione delle funzioni di inizializzazione Touch Key Lib
Queste funzioni si trovano in main.c. Si sconsiglia di modificarne il contenuto.
Nome | Funzione |
Configurazione_GPIO() | Configurazioni delle porte di I/O |
Configurazione_RTC() | I tasti a sfioramento vengono riattivati dall'RTC |
BFTM_Configurazione() | Le basi temporali della libreria dei tasti touch sono implementate da BFTM |
Configurazione_TKL() | Configurazioni dei tasti a sfioramento |
Query sullo stato della chiave
Come mostrato di seguito, il programma principale include un tasto touch esample che non sarà attivato per impostazione predefinita. Per attivare questa funzione, modificare (0) dopo #if in (1).
Descrizione della modalità di sospensione
- In ht32_TouchKey_conf.h, seleziona PowerSave per abilitare le modalità di sospensione.
- Dopo che le modalità di sospensione sono state abilitate, i tasti a sfioramento entreranno nello stato di sospensione se i tasti non hanno subito alcuna condizione di tocco per un certo periodo di tempo.
- Una funzione di conteggio del tempo di standby viene utilizzata per il conteggio indietro, l'ora corrente viene ottenuta utilizzando TKL_Get_Standby e il parametro del tempo viene impostato utilizzando TKL_Set_Standby.
- Sono disponibili tre opzioni per la modalità di sospensione.
Modalità Descrizione USE_SLEEP_MODE Entra in modalità riposo USE_DEEP_SLEEP1_MODE Entra in modalità Deep Sleep1 USE_DEEP_SLEEP2_MODE Entra in modalità Deep Sleep2 - Come mostrato di seguito, imposta la modalità di sospensione richiesta utilizzando "#define" nel menu principale file.
Conclusione
Questo documento ha fornito le istruzioni per configurare l'intero ambiente di sviluppo del tasto tattile HT32, aiutando gli utenti a iniziare rapidamente. Inoltre, le risorse utilizzate dalla libreria, nonché varie funzioni e parametri, sono state spiegate in dettaglio, consentendo un processo di sviluppo più semplice.
Materiale di riferimento
Per maggiori dettagli, fare riferimento a Holtek websito: www.holtek.com oppure consulta la Migliore Soluzione websito: http://www.bestsolution.com.tw/EN/
Versioni e informazioni sulla modifica:
Data | Autore | Pubblicazione | Descrizione |
2022.03.16 | 谢东霖、梁德浩 | V1.00 | Prima versione |
Disclaimer
Tutte le informazioni, marchi, loghi, grafica, video, clip audio, collegamenti e altri elementi che appaiono su questo websito ("Informazioni") sono solo di riferimento ed è soggetto a modifiche in qualsiasi momento senza preavviso ea discrezione di Holtek Semiconductor Inc. e delle sue società collegate (di seguito "Holtek", "l'azienda", "noi", " noi' o 'nostro'). Mentre Holtek si impegna a garantire l'accuratezza delle Informazioni su questo websito, Holtek non fornisce alcuna garanzia esplicita o implicita in merito all'accuratezza delle Informazioni. Holtek non si assume alcuna responsabilità per eventuali errori o perdite.
Holtek non sarà responsabile per eventuali danni (inclusi ma non limitati a virus informatici, problemi di sistema o perdita di dati) derivanti dall'uso o in connessione con l'uso di questo websito da qualsiasi parte. Potrebbero esserci collegamenti in quest'area, che consentono di visitare il websiti di altre società. Queste webi siti non sono controllati da Holtek. Holtek non si assume alcuna responsabilità e non garantisce in alcun modo le Informazioni visualizzate in tali siti. Collegamenti ipertestuali ad altro webi siti sono a proprio rischio.
Limitazione di responsabilità
In nessun caso Holtek Limited sarà responsabile nei confronti di terzi per eventuali perdite o danni di qualsiasi natura o comunque causati direttamente o indirettamente in relazione all'accesso o all'utilizzo di questo websito, il suo contenuto o qualsiasi bene, materiale o servizio.
Legge applicabile
Il Disclaimer contenuto nel websito sarà disciplinato e interpretato in conformità con le leggi della Repubblica di Cina. Gli utenti si sottoporranno alla giurisdizione non esclusiva dei tribunali della Repubblica di Cina.
Aggiornamento della dichiarazione di non responsabilità
Holtek si riserva il diritto di aggiornare il Disclaimer in qualsiasi momento con o senza preavviso, tutte le modifiche sono efficaci immediatamente dopo la pubblicazione sul websito.
Documenti / Risorse
![]() |
Libreria tasti touch MCU Holtek HT32 [pdf] Guida utente HT32, Libreria tasti touch MCU, Libreria tasti touch MCU HT32 |