Ker Nextion zasloni za lažjo komunikacijo uporabljajo specifičen protokol, se pogosto uporabljajo namenske knjižnice.
Za delovanje Nextion zaslona na STM okolju običajno uporabljamo uradno ITEAD knjižnico ali njene priredbe za STM32 HAL:
Glavna knjižnica: Nextion.h
Izvorna koda: Nextion.c (ali .cpp)
Konfiguracijska datoteka: NexConfig.h (pogosto potrebna za nastavitev pinov).
Za neposredno krmiljenje 8-segmentnega prikazovalnika (direktna vezava na GPIO) ne potrebujemo standardnih zunanjih knjižnic.
Krmiljenje izvedemo programsko z uporabo:
Look-up tabele (polja): Ustvarimo tabelo v C (uint8_t digit[]), ki definira kombinacijo prižganih segmentov za številke od 0 do 9.
Standardne HAL knjižnice: stm32f0xx_hal_gpio.h (za upravljanje HAL_GPIO_WritePin).
LCD zaslon HD44780 potrebuje natančno časovno usklajeno pošiljanje ukazov, zato standardne HAL funkcije niso dovolj in potrebujemo zunanjo knjižnico.
Za STM32 se najpogosteje uporablja knjižnica, prirejena za HAL (Hardware Abstraction Layer):
Header datoteka: lcd.h (ali lcd16x2.h)
Source datoteka: lcd.c (ali lcd16x2.c)
Te datoteke vsebujejo funkcije, kot so:
LCD_Init() – inicializacija zaslona.
LCD_SendCommand() – pošiljanje ukazov (npr. briši zaslon, premakni kurzor).
LCD_SendString("Besedilo") – izpis besedila na zaslon.
OLED zaslon je preveč kompleksen, da bi ga krmilili ročno bit-po-bit, zato nujno potrebujemo gonilnik za krmilnik SSD1306. Za STM32 okolje (CubeIDE/Keil) se uporablja prilagojena knjižnica, ki temelji na Adafruitovi logiki, a je napisana za STM32 HAL:
ssd1306.h (Glavna zaglavna datoteka z definicijami funkcij)
ssd1306.c (Glavna koda gonilnika: inicializacija, risanje pikslov)
ssd1306_fonts.h in ssd1306_fonts.c (Definicije pisav/fontov za izpis teksta)
ssd1306_conf.h (Konfiguracijska datoteka za nastavitev višine/širine zaslona in I2C naslova).
Te knjižnice uporabljajo HAL funkcijo: HAL_I2C_Mem_Write() za pošiljanje podatkov na zaslon.
Za matrično tipkovnico ne obstaja ena sama standardna knjižnica, vendar se za STM32 pogosto uporablja preprost gonilnik za skeniranje matrike:
keypad.h (Definicije mapiranja tipk – kateri znak pripada kateri vrstici/stolpcu, npr. char keys[4][3] = {{'1','2','3'}...}).
keypad.c (Funkcija za skeniranje).
Opis delovanja: Knjižnica deluje po principu skeniranja.
Vse stolpce (C1-C3) postavimo na visoko stanje (High),
Postavimo prvi stolpec na nizko stanje (Low),
Preverimo vrstice (R1-R4). Če je katera vrstica "Low", vemo, da je pritisnjena tipka na presečišču tistega stolpca in vrstice,
Postopek ponovimo za vse stolpce zelo hitro.