1.9inch LCD Mini Display Module

Mga pagtutukoy:

  • Laki ng display: 1.9 pulgada
  • Interface: GH1.25 8PIN
  • Protokol ng Komunikasyon: SPI
  • Tugma sa: Raspberry Pi

Mga Tagubilin sa Paggamit ng Produkto:

Koneksyon sa Hardware:

Pakikonekta ang LCD sa iyong Raspberry Pi gamit ang ibinigay
8PIN cable. Sundin ang talahanayan ng pagsasaayos ng pin sa ibaba:

LCD VCC GND DIN CLK
Raspberry Pi BCM2835 3.3V GND DAWDLE SCLK CE0

Paganahin ang SPI Interface:

Upang paganahin ang interface ng SPI sa iyong Raspberry Pi:

  1. Buksan ang terminal at ipasok ang command: sudo raspi-config
  2. Piliin ang Interfacing Options -> SPI -> Oo para paganahin
    SPI
  3. I-reboot ang iyong Raspberry Pi gamit ang command: sudo reboot

C Demo:

Upang patakbuhin ang C demo:

  1. I-install ang BCM2835 library sa pamamagitan ng pagpapatakbo ng mga ibinigay na command sa
    terminal
  2. I-install ang wiringPi library (opsyonal) gamit ang mga command
    ibinigay
  3. I-download ang demo files, mag-compile, at tumakbo gamit ang ibinigay
    mga tagubilin

Demo ng Python:

Upang patakbuhin ang Python demo:

  1. I-install ang mga kinakailangang aklatan ng Python para sa Python2 o Python3 bilang
    ayon sa iyong pangangailangan
  2. I-download ang demo files sumusunod sa ibinigay
    mga tagubilin

Mga Madalas Itanong (FAQ):

T: Paano ko titingnan kung naka-enable ang interface ng SPI?

A: Maaari mong suriin kung pinagana ang SPI sa pamamagitan ng pag-verify sa 'dtparam=spi=on'
sa /boot/config.txt at gamit ang ls /dev/spi* upang makita kung ang SPI ay
inookupahan.

Q: Ano ang dapat kong gawin kung ang SPI ay okupado?

A: Kung okupado ang SPI, inirerekomenda na pansamantalang isara
iba pang mga saklaw ng driver upang palayain ang SPI. Maaari mong gamitin ang ls /dev/spi* to
suriin para sa mga occupied na instance ng SPI.

T: Paano ko mapapatakbo ang mga pagsubok na demo para sa lahat ng laki ng screen?

A: Maaari mong tawagan ang mga pagsubok na demo sa pamamagitan ng pag-input ng katumbas
laki ng screen sa terminal. Para kay example, sudo ./main 1.9 para sa
1.9-pulgada na screen.

“`

1.9inch LCD Module

Tapos naview

1.9inch LCD Module

Mga pagtutukoy

Operating voltage: 3.3V / 5V (Pakitiyak na ang power supply voltage ay pare-pareho sa logic voltage, kung hindi, hindi ito gagana nang normal.) Communication Interface: SPI Display Panel: IPS Driver: ST7789V2 Resolution: 170 (H) RGB × 320 (V) Display Dimension: 22.70 × 42.72mm Pixel Pitch: 0.1335 × 0.1335 mm Mga Dimensyon ng Module: 27.3 × 51.2mm

1.9inch 170 × 320, SPI

LCD At Controller
Ang built-in na driver ng 1.9-inch LCD Module ay ST7789V2, na siyang LCD controller na may 240 x RGB x 320, at ang resolution ng LCD ay 170 (H) RGB × 320 (V). Bukod dito, ang panloob na RAM ng LCD ay hindi ganap na ginagamit dahil maaari itong masimulan bilang isang portrait at pahalang na screen. Sinusuportahan ng LCD na ito ang input RGB format na 12 bits, 16 bits, at 18 bits, iyon ay, RGB444, RGB565, at RGB666. Ang demo na ginamit dito ay RGB565, na siyang RGB na format na karaniwang ginagamit namin. Habang ang LCD ay gumagamit ng 4-wire SPI, hindi lamang ito mas mabilis sa komunikasyon, ngunit nakakatipid din ng higit pang mga header ng GPIO.
Protokol ng Komunikasyon

Tandaan: ang pagkakaiba sa tradisyunal na SPI protocol ay ang data pin mula sa slave device hanggang sa host device ay nakatago dahil kailangan lang nitong ipakita. Mangyaring sumangguni sa Datasheet Page 66. Ang RESX ay ni-reset, hinila nang mahina kapag ang module ay naka-on, at karaniwang nakatakda sa 1. Ang CSX ay ang slave device chip selection, low active. Ang D/CX ay ang data/command control pin ng chip. Sumulat ng command kapag DC=0, sumulat ng data kapag DC=1. Ang SDA ay ang ipinadalang data, iyon ay, RGB data. Ang SCL ay ang orasan ng komunikasyon ng SPI. Para sa komunikasyon ng SPI, ang data ay ipinapadala sa pagkakasunud-sunod, iyon ay, ang kumbinasyon ng CPHA (Clock Phase) at CPOL (Clock Polarity). Kinokontrol ng CPHA kung kinokolekta ang data sa 1st o 2nd edge ng SCLK. Kapag CPHA = 0, nakukuha ang data sa 1st edge ng SCLK. Kinokontrol ng CPOL ang idle state level ng SCLK. Kapag CPOL = 0, ito ay nasa mababang antas. Mula sa figure sa itaas, makikita mo na nagsisimula itong ilipat ang data sa 1st edge ng SCLK. Ang 8-bit na data ay inililipat sa isang ikot ng orasan, at kasama ang SPI0, ang data ay ipinapadala mula sa mataas hanggang mababa sa mga bit.
Raspberry Pi

Koneksyon ng Hardware

Pakikonekta ang LCD sa iyong Raspberry Pi gamit ang 8PIN cable ayon sa talahanayan sa ibaba.

Kumonekta sa Raspberry Pi

LCD
VCC GND DIN CLK
CS DS RST BL

BCM2835 3.3V GND MOSI SCLK CE0 25 27 18

Raspberry Pi

Board 3.3V GND
19 23 24 22 13 12

Ang 1.9inch LCD ay gumagamit ng GH1.25 8PIN interface, na maaaring konektado sa Raspberry Pi ayon sa talahanayan sa itaas: (Mangyaring kumonekta ayon sa talahanayan ng kahulugan ng pin. Ang kulay ng mga kable sa larawan ay para sa sanggunian lamang, at ang aktwal na kulay ang mangingibabaw.)

Paganahin ang SPI Interface
Buksan ang terminal, at gamitin ang sumusunod na command upang makapasok sa pahina ng pagsasaayos:
sudo raspi-config Pumili ng Interfacing Options -> SPI -> Oo upang paganahin ang interface ng SPI

I-reboot ang Raspberry Pi
sudo reboot
Suriin ang /boot/config.txt, at makikita mong nakasulat ang 'dtparam=spi=on'.
Upang matiyak na hindi occupied ang SPI, inirerekomenda na pansamantalang isara ang ibang saklaw ng driver. Maaari mong gamitin ang “ls /dev/spi*” para tingnan kung okupado ang SPI. Kung ang terminal ay nag-output ng “/dev/spidev0.0″ at ” /dev/spidev0.1″, nangangahulugan itong nasa normal na kondisyon ang SPI.
C Demo
I-install ang BCM2835
#Buksan ang terminal ng Raspberry Pi at patakbuhin ang sumusunod na command wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz tar zxvf bcm2835-1.71.tar.gz cd bcm2835-1.71/ sudo ./ i-configure && sudo make && sudo make check && sudo make install # Para sa karagdagang impormasyon, mangyaring sumangguni sa opisyal website: http://www.a irspayce.com/mikem/bcm2835/
I-install ang wiringPi (opsyonal)
#Buksan ang terminal ng Raspberry Pi at patakbuhin ang mga sumusunod na command: sudo apt-get install wiringpi #Para sa mga Raspberry Pi system pagkatapos ng Mayo 2019 (hindi na kailangang isagawa ang mga nauna), maaaring kailanganin ang pag-upgrade: wget https://project -downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # Run gpio -v at lalabas ang bersyon 2.52. Kung hindi ito lumitaw, nangangahulugan ito na mayroong isang error sa pag-install.
#Ang Bullseye branching system ay gumagamit ng mga sumusunod na command: git clone https://github.com/WiringPi/WiringPi cd WiringPi ./build gpio -v # Run gpio -v at lalabas ang bersyon 2.60. Kung hindi ito lumitaw, nangangahulugan ito na mayroong isang error sa pag-install.
Pag-download ng demo
sudo apt-get install unzip -y sudo wget https://www.waveshare.com/w/upload/8/8d/LCD_Module_RPI_code.zip sudo unzip ./LCD_Module_RPI_code.zip cd LCD_Module_RPI_code/RaspberryPi/
I-compile muli at maaaring tumagal ng ilang segundo.
cd c sudo gumawa ng malinis sudo gumawa -j 8
Ang mga pagsubok na demo para sa lahat ng mga screen ay maaaring direktang tawagan sa pamamagitan ng paglalagay ng kaukulang laki:
sudo ./main 1.9
Demo ng Python
Mag-install ng mga aklatan
#python2 sudo apt-get update sudo apt-get install python-pip sudo apt-get install python-pil sudo apt-get install python-numpy sudo pip install RPi.GPIO sudo pip install spidev #python3 sudo apt-get update sudo apt -get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 install RPi.GPIO sudo pip3 install spidev
Pag-download ng demo
sudo apt-get install unzip -y sudo wget https://www.waveshare.com/w/upload/8/8d/LCD_Module_RPI_code.zip sudo unzip ./LCD_Module_RPI_code.zip cd LCD_Module_RPI_code/RaspberryPi/
Ipasok ang python demo directory at patakbuhin ang "ls -l"
cd python/examples ls -l

Maaari mong makita ang lahat ng mga pagsubok na demo para sa mga LCD, at ang mga ito ay inuri ayon sa mga laki.

0inch96_LCD_test.py 1inch14_LCD_test.py 1inch28_LCD_test.py 1inch3_LCD_test.py 1inch47_LCD_test.py 1inch54_LCD_test.py 1inch8_LCD_test.py 1inch9_LCD_test.py 2inch_LCD_test.py 2inch4_LCD_test.py

0.96inch LCD test demo 1.14inch LCD test demo 1.28inch LCD test demo 1.3inch LCD test demo 1.47inch LCD test demo 1.54inchLCD test demo 1.8inch LCD test demo 1.9inch LCD test demo 2inch LCD test demo 2.4inch LCD test demo

Patakbuhin ang kaukulang demo at sinusuportahan nito ang python2/3.

# python2 sudo python 1inch9_LCD_test.py # python3 sudo python3 1inch9_LCD_test.py

Pag-port ng FBCP
Gumagamit ang Framebuffer ng isang video output device upang himukin ang isang video display device mula sa isang memory buffer na naglalaman ng kumpletong data ng frame. Sa madaling salita, ang isang lugar ng memorya ay ginagamit upang iimbak ang nilalaman ng display, at ang nilalaman ng display ay maaaring mabago sa pamamagitan ng pagbabago ng data sa memorya. Mayroong isang open source na proyekto sa github: fbcp-ili9341. Kung ikukumpara sa ibang mga proyekto sa fbcp, ang proyektong ito ay gumagamit ng bahagyang pag-refresh at DMA upang makamit ang bilis na hanggang 60fps.
I-download ang mga Driver
sudo apt-get install cmake -y cd ~ wget https://www.waveshare.com/w/upload/1/18/Waveshare_fbcp.zip unzip Waveshare_fbcp.zip cd Waveshare_fbcp/ sudo chmod +x ./shell/*
Paraan 1: Gumamit ng script (Inirerekomenda)
Dito ay sumulat kami ng ilang script na nagbibigay-daan sa mga user na mabilis na gumamit ng fbcp at magpatakbo ng kaukulang mga command ayon sa kanilang sariling screen Kung gumagamit ka ng script at hindi mo kailangang baguhin ito, maaari mong balewalain ang pangalawang paraan sa ibaba. Tandaan: Papalitan ng script ang kaukulang /boot/config.txt at /etc/rc.local at i-restart, kung kailangan ng user, mangyaring i-back up ang nauugnay files in advance.
#0.96inch LCD Module sudo ./shell/waveshare-0inch96 #1.14inch LCD Module sudo ./shell/waveshare-1inch14 #1.3inch LCD Module sudo ./shell/waveshare-1inch3 #1.44inch LCD Module sudo ./shell/waveshare -1inch44 #1.54inch LCD Module sudo ./shell/waveshare-1inch54 #1.8inch LCD Module sudo ./shell/waveshare-1inch8 #2inch LCD Module sudo ./shell/waveshare-2inch #2.4inch LCD Module sudo ./shell/ waveshare-2inch4
Paraan 2: Manu-manong Configuration
Pagsasaayos ng kapaligiran
Ang vc4-kms-v3d ng Raspberry Pi ay magdudulot ng pagkabigo sa fbcp, kaya kailangan nating isara ang vc4-kms-v3d bago i-install sa fbcp.
sudo nano /boot/config.txt
I-block lamang ang pahayag na naaayon sa larawan sa ibaba:

I-reboot:
sudo reboot
Mag-compile at tumakbo
mkdir build cd build cmake [mga opsyon] .. sudo make -j sudo ./fbcp
Palitan ito nang mag-isa ayon sa LCD Module na iyong ginagamit, sa itaas ng cmake [mga opsyon] ..
#0.96inch LCD Module sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_0INCH96_LCD=ON -DBACKLIG HT_CONTROL=ON -DSTATISTICS=0 .. #1.14inch LCD Module sudo cmake -DSPI_BUSDB_CLOCK20_1 LIG HT_CONTROL=ON -DSTATISTICS=14 . LIG HT_CONTROL=ON -DSTATISTICS =0 .. #1.3inch LCD Module sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH3_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=0 .. #1.54inch LCD Module -sudo cmake -DSPI_BUS_CLOCK=20CH1_LCDIGHT_DAVESHARE _CONTROL=ON - DSTATISTICS=54 .. #0inch LCD Module sudo cmake -DSPI_BUS_CLOCK_DIVISOR=1.8 -DWAVESHARE_20INCH1_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=8 ..
I-set up upang awtomatikong magsimula
sudo cp ~/Waveshare_fbcp/buil d/fbcp /usr/local/bin/fbcp sudo nano /etc/rc.local
Magdagdag ng fbcp& bago lumabas sa 0. Tandaan na dapat mong idagdag ang "&" upang tumakbo sa background, kung hindi ay maaaring hindi makapagsimula ang system.
Itakda ang resolution ng display
Itakda ang laki ng display ng user interface sa /boot/config.txt file.
sudo nano /boot/config.txt
Pagkatapos ay idagdag ang mga sumusunod na linya sa dulo ng config.txt.
hdmi_force_hotplug=1 hdmi_cvt=[mga opsyon] hdmi_group=2 hdmi_mode=1 hdmi_mode=87 display_rotate=0
Palitan ang nasa itaas hdmi_cvt=[options] ayon sa LCD Module na iyong ginagamit.
#2.4inch LCD Module at 2inch LCD Module hdmi_cvt=640 480 60 1 0 0 0
#1.8inch LCD Module hdmi_cvt=400 300 60 1 0 0 0
#1.3inch LCD Module at 1.54inch LCD Module hdmi_cvt=300 300 60 1 0 0 0
#1.14inch LCD Module hdmi_cvt=300 170 60 1 0 0 0
#0.96inch LCD Module hdmi_cvt=300 150 60 1 0 0 0
At pagkatapos ay i-reboot ang system:
sudo reboot
Pagkatapos i-reboot ang system, ipapakita ang user interface ng Raspberry Pi OS.

STM32

Koneksyon ng Hardware

Ang demo na ibinigay namin ay batay sa STM32F103RBT6, at ito ay konektado na tumutugma sa mga STM32F103RBT6 pin. Kung kailangan mong i-port ang program, maaari mo itong ikonekta ayon sa aktwal na mga pin.

STM32F103ZET Pin Connection Correspondence
LCD VCC GND DIN CLK
CS DC RST BL

STM32 3.3V GND PA7 PA5 PB6 PA8 PA9 PC7

Kunin ang XNUCLEO-F103RB na binuo ng aming kumpanya bilang example, ang koneksyon ay ang mga sumusunod:

Patakbuhin ang Demo
I-download ang demo at hanapin ang STM32 file direktoryo, buksan ang LCD_demo.uvprojx sa direktoryo ng STM32STM32F103RBT6MDK-ARM, pagkatapos ay makikita mo ang demo.
Buksan ang main.c at makikita mo ang lahat ng pagsubok na demo. Habang ginagamit namin ang 1.9-inch LCD Module, kailangan naming alisin ang komento sa harap ng "LCD_1in9_test();" at muling i-compile at i-download.

Demo Paglalarawan

Pinagbabatayan na Interface ng Hardware

Uri ng data

#define UBYTE #define UWORD #define UDOUBLE

uint8_t uint16_t uint32_t

Pagsisimula ng module at paglabas ng pagproseso
void DEV_Module_Init(void); void DEV_Module_Exit(void); Tandaan: 1. Narito ang pagproseso ng ilang GPIO bago at pagkatapos gamitin ang LCD scre en; 2. Pagkatapos gamitin ang DEV_Module_Exit function, ang LCD display ay isasara;

Sumulat at basahin ang GPIO
walang bisa DEV_Digital_Write(UWORD Pin, UBYTE Value); UBYTE DEV_Digital_Read(UWORD Pin);
Nagsusulat ng data ang SPI
walang bisa DEV_SPI_WRITE(UBYTE _dat);

Itaas na Aplikasyon
Para sa mga LCD, ito ay ang itaas na application na gumuhit ng mga larawan, nagpapakita ng mga character na Chines/English, nagpapakita ng mga larawan, atbp. Maraming mga kaibigan ang nagtanong tungkol sa ilang pagpoproseso ng graphics. Nagbibigay kami ng ilang pangunahing pag-andar dito. Mahahanap mo ang GUI sa sumusunod na direktoryo: STM32STM32F103RBUserGUI_DEVGUI_Paint.c(.h) Tandaan: Direktang nakasulat ang GUI sa LCD RAM dahil sa mga limitasyon ng RAM ng STM32 at Arduino.

Ang sumusunod na direktoryo ay ang mga font para sa mga dependency ng GUI: STM32STM32F103RBUserFonts

Mga bagong katangian ng larawan: ang mga katangian ng larawan ay kinabibilangan ng: ang pangalan ng cache ng larawan, lapad, taas, umiikot na anggulo, at kulay.
void Paint_NewImage(UWORD Width, UWORD Height, UWORD Rotate, UWORD Color); Mga Parameter:
Lapad: ang lapad ng cache ng larawan Taas: ang taas ng cache ng larawan I-rotate: ang umiikot na anggulo ng cache ng larawan Kulay: ang kulay ng cache ng larawan
Itakda ang function ng pag-clear ng screen, kadalasang tinatawag ang malinaw na function ng LCD;
void Paint_SetClearFuntion(void (*Clear)(UWORD)); Mga Parameter:
Clear: Isang pointer sa screen clearing function, na ginagamit upang mabilis na i-clear ang screen sa isang tiyak na kulay;
Itakda ang function ng pagguhit ng mga pixel, kadalasang tinatawag ang DrawPaint function ng LCD;
void Paint_SetDisplayFuntion(void (*Display)(UWORD,UWORD,UWORD)); Mga Parameter:
Display: Pointer sa function ng pagguhit ng mga pixel, na ginagamit upang magsulat ng data sa tinukoy na lokasyon ng LCD internal RAM;
Piliin ang cache ng imahe: piliin ang cache ng imahe, ang layunin ng pagpili ay na maaari kang lumikha ng maramihang mga katangian ng imahe, ang mga cache ng imahe ay maaaring umiral ng marami, at maaari mong piliin ang bawat imahe na iyong nilikha.
void Paint_SelectImage(UBYTE *image) Parameter:
imahe: Ang pangalan ng cache ng imahe, na talagang isang pointer sa unang address ng cache ng imahe;
Pag-ikot ng larawan: itakda ang umiikot na anggulo ng napiling larawan, at inirerekomendang gamitin ito pagkatapos ng “Paint_SelectImage()”, at maaari mong piliing i-rotate ang 0, 90, 180, 270.
void Paint_SetRotate(UWORD Rotate) Parameter:
I-rotate: anggulo ng pagpili ng larawan, maaari mong piliin ang ROTATE_0, ROTATE_90, ROTAT E_180, at ROTATE_270 na tumutugma sa 0, 90, 180, at 270 degrees respect ively
Tandaan: Sa ilalim ng iba't ibang anggulo ng pagpili, ang mga coordinate ay tumutugma sa iba't ibang panimulang pixel. Dito kinukuha namin ang 1.14 bilang isang example, at ang apat na larawan ay 0°, 90°, 180°, at 270° sa pagkakasunud-sunod. para lamang sa karagdagang impormasyon:

Image mirror flip: itakda ang mirror flip ng napiling imahe, maaari kang pumili ng walang salamin, pahalang na salamin, patayong salamin, o image center mirror.
void Paint_SetMirroring(UBYTE mirror) Mga Parameter:
salamin: MIRROR_NONEMIRROR_HORIZONTALMIRROR_VERTICALMIRROR_ORI GIN ayon sa pagkakasunod-sunod sa none mirroring, horizontal mirroring, ve rtical mirroring, image center mirroring

Itakda ang posisyon ng display at kulay ng punto sa cache: narito ang pangunahing function ng GUI para sa pagpoproseso ng posisyon at kulay ng mga punto sa cache.
void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) Mga Parameter:
Xpoint: ang X na posisyon ng punto sa cache ng imahe Ypoint: ang Y na posisyon ng punto sa cache ng imahe Kulay : ang kulay ng point display

Pinupuno ng cache ng larawan ang kulay: punan ang cache ng larawan ng isang tiyak na kulay, sa pangkalahatan para sa pag-flash ng screen sa blangko.
void Paint_Clear(UWORD Color) Parameter:
Kulay: kulay ng fill

Pagpuno ng kulay ng bahagi ng window ng cache ng imahe: punan ang isang tiyak na bahagi ng window ng cache ng imahe na may isang tiyak na kulay, karaniwang ginagamit bilang isang function ng pagpaputi ng window, kadalasang ginagamit para sa pagpapakita ng oras, pagpaputi para sa isang segundo.
void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen d, UWORD Color) Parameter:
Xstart: X start coordinate ng window Ystart: Y start coordinate ng window Xend: X end coordinate ng window Yend: Y end coordinate ng window Kulay: Fill color

Gumuhit ng mga puntos: Sa cache ng larawan, gumuhit ng mga puntos sa (Xpoint, Ypoint), maaari mong piliin ang kulay, laki ng punto, at istilo ng punto.

void Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Do

t_Pixel, DOT_STYLE Dot_Style)

Mga Parameter:

Xpoint: X coordinate ng punto

Ypoint: Y coordinate ng punto

Kulay: kulay ng fill

Dot_Pixel: Laki ng point, na nagbibigay ng default na 8 size point

typedef enum {

DOT_PIXEL_1X1 = 1, // 1 x 1

DOT_PIXEL_2X2,

// 2 X 2

DOT_PIXEL_3X3,

// 3 X 3

DOT_PIXEL_4X4,

// 4 X 4

DOT_PIXEL_5X5,

// 5 X 5

DOT_PIXEL_6X6,

// 6 X 6

DOT_PIXEL_7X7,

// 7 X 7

DOT_PIXEL_8X8,

// 8 X 8

} DOT_PIXEL;

Dot_Style: Ang estilo ng punto, ang paraan ng pagpapalawak ng laki ay sa

palawakin gamit ang punto bilang sentro o palawakin ang punto bilang mababa

er kaliwang sulok sa kanang itaas.

typedef enum {

DOT_FILL_AROUND = 1,

DOT_FILL_RIGHTUP,

} DOT_STYLE;

Gumuhit ng linya: gumuhit ng linya mula sa (Xstart, Ystart) hanggang (Xend, Yend) sa cache ng larawan, maaari mong piliin ang kulay, lapad ng linya, at istilo ng linya.

void Paint_DrawLine(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UW

Kulay ng ORD, LINE_STYLE Line_Style , LINE_STYLE Line_Style)

Mga Parameter:

Xstart: Ang X coordinate ng panimulang punto ng linya

Ystart: Ang Y coordinate ng panimulang punto ng linya

Xend: Ang X endpoint coordinate ng linya

Yend: Ang Y end point coordinate ng linya

Kulay: Kulay ng fill

Line_width: Ang lapad ng linya, na nagbibigay ng 8 default na lapad

typedef enum {

DOT_PIXEL_1X1 = 1, // 1 x 1

DOT_PIXEL_2X2,

// 2 X 2

DOT_PIXEL_3X3,

// 3 X 3

DOT_PIXEL_4X4,

// 4 X 4

DOT_PIXEL_5X5,

// 5 X 5

DOT_PIXEL_6X6,

// 6 X 6

DOT_PIXEL_7X7,

// 7 X 7

DOT_PIXEL_8X8,

// 8 X 8

} DOT_PIXEL;

Line_Style: Estilo ng linya, piliin kung nakakonekta ang mga linya

isang tuwid na linya o isang tuldok na linya.

typedef enum {

LINE_STYLE_SOLID = 0,

LINE_STYLE_DOTTED,

} LINE_STYLE;

Gumuhit ng isang parihaba: Sa cache ng imahe, gumuhit ng isang parihaba mula sa (Xstart, Ystart) hanggang (Xend, Yend), maaari mong piliin ang kulay, ang lapad ng linya, at kung pupunuin ang loob ng parihaba.

void Paint_DrawRectangle(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen

d, UWORD Color, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)

Mga Parameter:

Xstart: Ang X coordinate ng panimulang punto ng rectangle

Ystart: Ang Y coordinate ng panimulang punto ng rectangle

Xend: X coordinate ng endpoint ng rectangle

Yend: Y coordinate ng endpoint ng rectangle

Kulay: Ang kulay na napuno

Line_width: Ang lapad ng apat na gilid ng parihaba, providin

g 8 default na lapad

typedef enum {

DOT_PIXEL_1X1 = 1, // 1 x 1

DOT_PIXEL_2X2,

// 2 X 2

DOT_PIXEL_3X3,

// 3 X 3

DOT_PIXEL_4X4,

// 4 X 4

DOT_PIXEL_5X5,

// 5 X 5

DOT_PIXEL_6X6,

// 6 X 6

DOT_PIXEL_7X7,

// 7 X 7

DOT_PIXEL_8X8,

// 8 X 8

} DOT_PIXEL;

Draw_Fill: punan, kung pupunuin ang loob ng parihaba

typedef enum {

DRAW_FILL_EMPTY = 0,

DRAW_FILL_FULL,

} DRAW_FILL;

Gumuhit ng bilog: Sa cache ng imahe, na may (X_Center Y_Center) bilang sentro, gumuhit ng bilog na may Radius, maaari mong piliin ang kulay, ang lapad ng linya, at kung pupunuin ang loob ng bilog.

void Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD Radius, UWORD

Kulay, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)

Mga Parameter:

X_Center: X coordinate ng gitna ng bilog

Y_Center: Y coordinate ng gitna ng bilog Radius Circle radius

Kulay: kulay ng fill

Line_width: Ang lapad ng arko, na nagbibigay ng 8 default na lapad

typedef enum {

DOT_PIXEL_1X1 = 1, // 1 x 1

DOT_PIXEL_2X2,

// 2 X 2

DOT_PIXEL_3X3,

// 3 X 3

DOT_PIXEL_4X4,

// 4 X 4

DOT_PIXEL_5X5,

// 5 X 5

DOT_PIXEL_6X6,

// 6 X 6

DOT_PIXEL_7X7,

// 7 X 7

DOT_PIXEL_8X8,

// 8 X 8

} DOT_PIXEL;

Draw_Fill: punan, kung pupunuin ang loob ng bilog

typedef enum {

DRAW_FILL_EMPTY = 0,

DRAW_FILL_FULL,

} DRAW_FILL;

Sumulat ng mga Ascii character: sa buffer ng imahe, magsulat ng Ascii character sa (Xstart Ystart) bilang kaliwang vertex, maaari mong piliin ang Ascii code visual character font library, kulay ng foreground ng font, at kulay ng background ng font.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFO NT* Font, UWORD Color_Foreground, UWORD Color_Background) Mga Parameter:
Xstart: Ang X coordinate ng kaliwang vertex ng character Ystart: Ang Y coordinate ng kaliwang vertex ng character Ascii_Char Ascii characters Font: Ang Ascii code visual character font library ay nagbibigay ng mga sumusunod na font sa Fonts folder:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: kulay ng font Color_Background: kulay ng background
Sumulat ng mga string ng English na character: sa cache ng imahe, sa (Xstart Ystart) bilang kaliwang vertex, magsulat ng string ng mga English na character, maaari kang pumili ng Ascii code visual na library ng font ng character, kulay ng font sa harapan, kulay ng background ng font;
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background) Mga Parameter:
Xstart: Ang X coordinate ng kaliwang vertex ng character Ystart: Ang Y coordinate ng kaliwang vertex ng font pString: string, string ay isang pointer Font: Ang Ascii code visual character font library ay nagbibigay ng mga sumusunod na font sa Fonts folder :
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: kulay ng font Color_Background: kulay ng background
Sumulat ng mga string ng character na Tsino: sa cache ng imahe, sa (Xstart Ystart) bilang kaliwang tuktok, magsulat ng isang string ng mga character na Tsino, maaari kang pumili ng GB2312 na naka-code na font ng character, kulay ng foreground ng font, kulay ng background ng font;
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFONT* font, UWORD Color_Foreground, UWORD Color_Background) Mga Parameter:
Xstart: Ang X coordinate ng kaliwang vertex ng character Ystart: Ang Y coordinate ng kaliwang vertex ng character pString: string, string ay isang pointer Font: Ang GB2312 coded character font library ay nagbibigay ng mga sumusunod na font sa Fonts folder:
font12CNascii character font 11*21, Chinese font 16*21 font24CNascii character font 24*41, Chinese font 32*41 Color_Foreground: kulay ng font Color_Background: background color
Sumulat ng mga numero: Sa cache ng imahe, magsulat ng isang string ng mga numero sa (Xstart Ystart) bilang kaliwang vertex, maaari mong piliin ang Ascii code visual character font library, kulay ng font sa harapan, kulay ng background ng font.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, int32_t Number, sFONT* Fon t, UWORD Color_Foreground, UWORD Color_Background) Mga Parameter:
Xstart: Ang X coordinate ng kaliwang vertex ng character Ystart: Ang Y coordinate ng kaliwang vertex ng character Numero: Ang numerong ipinapakita dito ay nakaimbak sa isang 32-bit long int type, na maaaring ipakita hanggang 2147483647 Font: Ang Ascii code visual character font library ay nagbibigay ng mga sumusunod na font sa folder ng Mga Font:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: kulay ng font Color_Background: kulay ng background
Sumulat ng mga numero na may mga decimal: sa cache ng imahe, (Xstart Ystart) ang kaliwang vertex, magsulat ng isang string ng mga numero na maaaring magkaroon ng mga decimal na numero, maaari kang pumili ng Ascii code visual na library ng font ng character, kulay ng font sa harapan, kulay ng background ng font.
void Paint_DrawFloatNum(UWORD Xpoint, UWORD Ypoint, dobleng Numero, UBYTE Decimal_Point, sFONT* Font, UWORD Color_Foreground, UWORD Color_Backg round); Mga Parameter:
Xstart: Ang X coordinate ng kaliwang vertex ng character Ystart: Ang Y coordinate ng kaliwang vertex ng character Numero: Ang numerong ipinapakita dito ay naka-save sa double type, na sapat para sa mga karaniwang pangangailangan Decimal_Point: Ipakita ang bilang ng mga digit pagkatapos ang decimal point t Font: Ang Ascii code visual character font library ay nagbibigay ng mga sumusunod na font sa folder ng Fonts:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: kulay ng font Color_Background: kulay ng background
Oras ng pagpapakita: Sa cache ng imahe, ang (Xstart Ystart) ay ang kaliwang tuktok, at ito ay ipapakita sa loob ng isang yugto ng panahon, at maaari mong piliin ang Ascii code visual character font library, kulay ng font sa harapan, at kulay ng background ng font;
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Color_Foreground) Mga Parameter:
Xstart: Ang X coordinate ng kaliwang vertex ng character Ystart: Ang Y coordinate ng kaliwang vertex ng character pOras: Ipinapakita ang oras, ang isang istraktura ng oras ay tinukoy dito, hangga't ang mga digit ng oras, minuto, at segundo ay lumipas. sa mga parameter; Font: Ang Ascii code visual character font library ay nagbibigay ng mga sumusunod na font sa folder ng Mga Font:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: kulay ng font Color_Background: kulay ng background

Arduino

Tandaan: ang lahat ng mga demo ay nasubok sa Arduino uno. Kung kailangan mo ng iba pang uri ng Arduino, kailangan mong matukoy kung tama ang mga pin ng koneksyon.

Pag-install ng IDE
Mga hakbang sa pag-install ng Arduino IDE

Koneksyon ng Hardware
Arduino UNO Pin Connection Correspondence
LCD VCC GND DIN CLK
CS DC RST BL
Ang diagram ng koneksyon ay ang mga sumusunod (i-click upang palakihin):

UNO 5V
GND D11 D13 D10 D7 D8 D9

Patakbuhin ang Demo
I-download ang demo at i-unzip ito. Ang Arduino demo ay nasa ~/Arduino/…. Habang gumagamit kami ng 1.9inch LCD Module, kailangan naming buksan ang LCD_1inch9 file folder at patakbuhin ang LCD_1inch9.ino file folder.
Buksan ang demo at piliin ang modelo ng development board bilang Arduino UNO.

Piliin ang kaukulang COM port.

At pagkatapos ay i-click ang compile at i-download.

Demo Paglalarawan File Panimula
Kunin ang Arduino UNO na kumokontrol sa 1.54inch LCD bilang example, buksan ang ArduinoLCD_1inch54 na direktoryo.
LCD_1inch54.ino: Buksan ito gamit ang Arduino IDE. LCD_Driver.cpp(.h): Ito ang driver ng LCD screen. DEV_Config.cpp(.h): Ito ang kahulugan ng interface ng hardware, na sumasaklaw sa antas ng pagbabasa at pagsulat ng pin, data ng paghahatid ng SPI, at pagsisimula ng pin. font8.cpp, font12.cpp, font16.cpp, font20.cpp, font24.cpp, font24CN.cpp, fonts.h: mga font para sa mga character na may iba't ibang laki. image.cpp(.h): Ito ay data ng imahe, na maaaring mag-convert ng anumang BMP na imahe sa isang 16-bit true-color na array ng imahe sa pamamagitan ng Img2Lcd (maaaring i-download sa #Resource). Ang demo ay nahahati sa pinagbabatayan na interface ng hardware, ang middle-layer na LCD driver, at ang upper-layer na application.
Pinagbabatayan na interface ng hardware
Ang interface ng hardware ay tinukoy sa dalawa files DEV_Config.cpp (.h), at mga function tulad ng pagbabasa at pagsulat ng mga antas ng pin, pagkaantala, at paghahatid ng SPI ay naka-encapsulated.
Isulat ang antas ng pin
void DEV_Digital_Write(int pin, int value)
Ang unang parameter ay ang pin, at ang pangalawa ay ang mataas at mababang antas. Isulat ang antas ng pin
int DEV_Digital_Read(int pin)
Ang parameter ay ang pin, at ang return value ay ang antas ng read pin. Pagkaantala
DEV_Delay_ms(unsigned int delaytime)
Pagkaantala sa antas ng Millisecond. SPI output data
DEV_SPI_WRITE(unsigned char data)
Ang parameter ay uri ng char, na sumasakop sa 8 bits.
Itaas na Aplikasyon
Para sa mga LCD, ito ay ang itaas na application na gumuhit ng mga larawan, nagpapakita ng mga character na Chines/English, nagpapakita ng mga larawan, atbp. Maraming mga kaibigan ang nagtanong tungkol sa ilang pagpoproseso ng graphics. Nagbibigay kami ng ilang pangunahing function GUI_Paint.c(.h) dito. Tandaan: Direktang nakasulat ang GUI sa LCD RAM dahil sa mga limitasyon ng RAM ng STM32 at Arduino.
Ang mga font na ginamit ng GUI ay nakadepende lahat sa font*.cpp(h) file sa ilalim ng pareho file.

Mga bagong katangian ng larawan: ang mga katangian ng larawan ay kinabibilangan ng: ang pangalan ng cache ng larawan, lapad, taas, umiikot na anggulo, at kulay.
void Paint_NewImage(UWORD Width, UWORD Height, UWORD Rotate, UWORD Color); Mga Parameter:
Lapad: ang lapad ng cache ng larawan Taas: ang taas ng cache ng larawan I-rotate: ang umiikot na anggulo ng cache ng larawan Kulay: ang kulay ng cache ng larawan
Itakda ang function ng pag-clear ng screen, kadalasang tinatawag ang malinaw na function ng LCD;
void Paint_SetClearFuntion(void (*Clear)(UWORD)); Mga Parameter:
Clear: Isang pointer sa screen clearing function, na ginagamit upang mabilis na i-clear ang screen sa isang tiyak na kulay;
Itakda ang function ng pagguhit ng mga pixel, kadalasang tinatawag ang DrawPaint function ng LCD;
void Paint_SetDisplayFuntion(void (*Display)(UWORD,UWORD,UWORD)); Mga Parameter:
Display: Pointer sa function ng pagguhit ng mga pixel, na ginagamit upang magsulat ng data sa tinukoy na lokasyon ng LCD internal RAM;
Piliin ang cache ng imahe: piliin ang cache ng imahe, ang layunin ng pagpili ay na maaari kang lumikha ng maramihang mga katangian ng imahe, ang mga cache ng imahe ay maaaring umiral ng marami, at maaari mong piliin ang bawat imahe na iyong nilikha.
void Paint_SelectImage(UBYTE *image) Parameter:
imahe: Ang pangalan ng cache ng imahe, na talagang isang pointer sa unang address ng cache ng imahe;
Pag-ikot ng larawan: itakda ang umiikot na anggulo ng napiling larawan, at inirerekomendang gamitin ito pagkatapos ng “Paint_SelectImage()”, at maaari mong piliing i-rotate ang 0, 90, 180, 270.
void Paint_SetRotate(UWORD Rotate) Parameter:
I-rotate: anggulo ng pagpili ng larawan, maaari mong piliin ang ROTATE_0, ROTATE_90, ROTAT E_180, at ROTATE_270 na tumutugma sa 0, 90, 180, at 270 degrees respect ively
Tandaan: Sa ilalim ng iba't ibang anggulo ng pagpili, ang mga coordinate ay tumutugma sa iba't ibang panimulang pixel. Dito kinukuha namin ang 1.14 bilang isang example, at ang apat na larawan ay 0°, 90°, 180°, at 270° sa pagkakasunud-sunod. para lamang sa karagdagang impormasyon:

Image mirror flip: itakda ang mirror flip ng napiling imahe, maaari kang pumili ng walang salamin, pahalang na salamin, patayong salamin, o image center mirror.
void Paint_SetMirroring(UBYTE mirror) Mga Parameter:
salamin: MIRROR_NONEMIRROR_HORIZONTALMIRROR_VERTICALMIRROR_ORI GIN ayon sa pagkakasunod-sunod sa none mirroring, horizontal mirroring, ve rtical mirroring, image center mirroring

Itakda ang posisyon ng display at kulay ng punto sa cache: narito ang pangunahing function ng GUI para sa pagpoproseso ng posisyon ng mga puntos at kulay sa cache.
void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) Mga Parameter:
Xpoint: ang X na posisyon ng punto sa cache ng imahe Ypoint: ang Y na posisyon ng punto sa cache ng imahe Kulay : ang kulay ng point display

Pinupuno ng cache ng larawan ang kulay: punan ang cache ng larawan ng isang tiyak na kulay, sa pangkalahatan para sa pag-flash ng screen sa blangko.
void Paint_Clear(UWORD Color) Parameter:
Kulay: kulay ng fill

Pagpuno ng kulay ng bahagi ng window ng cache ng imahe: punan ang isang tiyak na bahagi ng window ng cache ng imahe na may isang tiyak na kulay, karaniwang ginagamit bilang isang function ng pagpaputi ng window, kadalasang ginagamit para sa pagpapakita ng oras, pagpaputi para sa isang segundo.
void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen d, UWORD Color) Mga Parameter:
Xstart: X start coordinate ng window Ystart: Y start coordinate ng window Xend: X end coordinate ng window Yend: Y end coordinate ng window Kulay: Fill color

Gumuhit ng mga puntos: Sa cache ng larawan, gumuhit ng mga puntos sa (Xpoint, Ypoint), maaari mong piliin ang kulay, laki ng punto, at istilo ng punto.

void Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Do

t_Pixel, DOT_STYLE Dot_Style)

Mga Parameter:

Xpoint: X coordinate ng punto

Ypoint: Y coordinate ng punto

Kulay: kulay ng fill

Dot_Pixel: Laki ng point, na nagbibigay ng default na 8 size point

typedef enum {

DOT_PIXEL_1X1 = 1, // 1 x 1

DOT_PIXEL_2X2,

// 2 X 2

DOT_PIXEL_3X3,

// 3 X 3

DOT_PIXEL_4X4,

// 4 X 4

DOT_PIXEL_5X5,

// 5 X 5

DOT_PIXEL_6X6,

// 6 X 6

DOT_PIXEL_7X7,

// 7 X 7

DOT_PIXEL_8X8,

// 8 X 8

} DOT_PIXEL;

Dot_Style: Ang estilo ng punto, ang paraan ng pagpapalawak ng laki ay sa

palawakin gamit ang punto bilang sentro o palawakin ang punto bilang mababa

er kaliwang sulok sa kanang itaas.

typedef enum {

DOT_FILL_AROUND = 1,

DOT_FILL_RIGHTUP,

} DOT_STYLE;

Gumuhit ng linya: gumuhit ng linya mula sa (Xstart, Ystart) hanggang (Xend, Yend) sa cache ng larawan, maaari mong piliin ang kulay, lapad ng linya, at istilo ng linya.

void Paint_DrawLine(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, UW

Kulay ng ORD, LINE_STYLE Line_Style , LINE_STYLE Line_Style)

Mga Parameter:

Xstart: Ang X coordinate ng panimulang punto ng linya

Ystart: Ang Y coordinate ng panimulang punto ng linya

Xend: Ang X end point coordinate ng linya

Yend: Ang Y end point coordinate ng linya

Kulay: Kulay ng fill

Line_width: Ang lapad ng linya, na nagbibigay ng 8 default na lapad

typedef enum {

DOT_PIXEL_1X1 = 1, // 1 x 1

DOT_PIXEL_2X2,

// 2 X 2

DOT_PIXEL_3X3,

// 3 X 3

DOT_PIXEL_4X4,

// 4 X 4

DOT_PIXEL_5X5,

// 5 X 5

DOT_PIXEL_6X6,

// 6 X 6

DOT_PIXEL_7X7,

// 7 X 7

DOT_PIXEL_8X8,

// 8 X 8

} DOT_PIXEL;

Line_Style: Estilo ng linya, piliin kung nakakonekta ang mga linya

isang tuwid na linya o isang tuldok na linya.

typedef enum {

LINE_STYLE_SOLID = 0,

LINE_STYLE_DOTTED,

} LINE_STYLE;

Gumuhit ng isang parihaba: Sa cache ng imahe, gumuhit ng isang parihaba mula sa (Xstart, Ystart) hanggang (Xend, Yend), maaari mong piliin ang kulay, ang lapad ng linya, at kung pupunuin ang loob ng parihaba.

void Paint_DrawRectangle(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen

d, UWORD Color, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)

Mga Parameter:

Xstart: Ang X coordinate ng panimulang punto ng rectangle

Ystart: Ang Y coordinate ng panimulang punto ng rectangle

Xend: X coordinate ng endpoint ng rectangle

Yend: Y coordinate ng endpoint ng rectangle

Kulay: Ang kulay na napuno

Line_width: Ang lapad ng apat na gilid ng parihaba, providin

g 8 default na lapad

typedef enum {

DOT_PIXEL_1X1 = 1, // 1 x 1

DOT_PIXEL_2X2,

// 2 X 2

DOT_PIXEL_3X3,

// 3 X 3

DOT_PIXEL_4X4,

// 4 X 4

DOT_PIXEL_5X5,

// 5 X 5

DOT_PIXEL_6X6,

// 6 X 6

DOT_PIXEL_7X7,

// 7 X 7

DOT_PIXEL_8X8,

// 8 X 8

} DOT_PIXEL;

Draw_Fill: punan, kung pupunuin ang loob ng parihaba

typedef enum {

DRAW_FILL_EMPTY = 0,

DRAW_FILL_FULL,

} DRAW_FILL;

Gumuhit ng bilog: Sa cache ng imahe, na may (X_Center Y_Center) bilang sentro, gumuhit ng bilog na may Radius, maaari mong piliin ang kulay, ang lapad ng linya, at kung pupunuin ang loob ng bilog.

void Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD Radius, UWORD

Kulay, DOT_PIXEL Line_width, DRAW_FILL Draw_Fill)

Mga Parameter:

X_Center: X coordinate ng gitna ng bilog

Y_Center: Y coordinate ng gitna ng bilog

Radius: Radius ng bilog

Kulay: kulay ng fill

Line_width: Ang lapad ng arko, na nagbibigay ng 8 default na lapad

typedef enum {

DOT_PIXEL_1X1 = 1, // 1 x 1

DOT_PIXEL_2X2,

// 2 X 2

DOT_PIXEL_3X3,

// 3 X 3

DOT_PIXEL_4X4,

// 4 X 4

DOT_PIXEL_5X5,

// 5 X 5

DOT_PIXEL_6X6,

// 6 X 6

DOT_PIXEL_7X7,

// 7 X 7

DOT_PIXEL_8X8,

// 8 X 8

} DOT_PIXEL;

Draw_Fill: punan, kung pupunuin ang loob ng bilog

typedef enum {

DRAW_FILL_EMPTY = 0,

DRAW_FILL_FULL,

} DRAW_FILL;

Sumulat ng mga character na Ascii: sa buffer ng imahe, magsulat ng Ascii character sa (Xstart Ystart) bilang kaliwang vertex, maaari mong piliin ang Ascii code visual character font library, kulay ng foreground ng font, kulay ng background ng font.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFO NT* Font, UWORD Color_Foreground, UWORD Color_Background) Mga Parameter:
Xstart: Ang X coordinate ng kaliwang vertex ng character Ystart: Ang Y coordinate ng kaliwang vertex ng character Ascii_Char: Ascii characters Font: Ang Ascii code visual character font library ay nagbibigay ng mga sumusunod na font sa Fonts folder:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: kulay ng font Color_Background: kulay ng background
Sumulat ng mga string ng English na character: sa cache ng imahe, sa (Xstart Ystart) bilang kaliwang vertex, magsulat ng string ng mga English na character, maaari kang pumili ng Ascii code visual na library ng font ng character, kulay ng font sa harapan, kulay ng background ng font;
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background) Mga Parameter:
Xstart: Ang X coordinate ng kaliwang vertex ng character Ystart: Ang Y coordinate ng kaliwang vertex ng font pStringstring, string ay isang pointer Font: Ang Ascii code visual character font library ay nagbibigay ng mga sumusunod na font sa Fonts folder:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: kulay ng font Color_Background: kulay ng background
Sumulat ng mga string ng character na Tsino: sa cache ng imahe, sa (Xstart Ystart) bilang kaliwang tuktok, magsulat ng isang string ng mga character na Tsino, maaari kang pumili ng GB2312 na naka-code na font ng character, kulay ng foreground ng font, kulay ng background ng font;
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFONT* font, UWORD Color_Foreground, UWORD Color_Background) Mga Parameter:
Xstart: Ang X coordinate ng kaliwang vertex ng character Ystart: Ang Y coordinate ng kaliwang vertex ng character na pStringstring, string ay isang pointer Font: Ang GB2312-coded character font library ay nagbibigay ng mga sumusunod na font sa Fonts folder:
font12CNascii character font 11*21, Chinese font 16*21 font24CNascii character font 24*41, Chinese font 32*41 Color_Foreground: kulay ng font Color_Background: background color
Sumulat ng mga numero: Sa cache ng imahe, magsulat ng isang string ng mga numero sa (Xstart Ystart) bilang kaliwang vertex, maaari mong piliin ang Ascii code visual character font library, kulay ng font sa harapan, kulay ng background ng font.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, int32_t Number, sFONT* Fon t, UWORD Color_Foreground, UWORD Color_Background) Mga Parameter:
Xstart: Ang X coordinate ng kaliwang vertex ng character Ystart: Ang Y coordinate ng kaliwang vertex ng character Number: Ang numerong ipinapakita dito ay nakaimbak sa isang 32-bit long int t ype, na maaaring ipakita hanggang 2147483647 Font : Ang Ascii code visual character font library ay nagbibigay ng mga sumusunod na font sa folder ng Mga Font:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: kulay ng font Color_Background: kulay ng background
Sumulat ng mga numero na may mga decimal: sa cache ng imahe, (Xstart Ystart) ang kaliwang vertex, magsulat ng isang string ng mga numero na maaaring magkaroon ng mga decimal na numero, maaari kang pumili ng Ascii code visual na library ng font ng character, kulay ng font sa harapan, kulay ng background ng font.
void Paint_DrawFloatNum(UWORD Xpoint, UWORD Ypoint, dobleng Numero, UBYTE Decimal_Point, sFONT* Font, UWORD Color_Foreground, UWORD Color_Backg round); Mga Parameter:
Xstart: Ang X coordinate ng left vertex ng character Ystart: Ang Y coordinate ng left vertex ng character Number: Ang numerong ipinapakita dito ay naka-save sa double type, na sapat para sa mga karaniwang pangangailangan Decimal_Point: Ipakita ang bilang ng mga digit pagkatapos ang decimal point t Font: Ang Ascii code visual character font library ay nagbibigay ng mga sumusunod na font sa folder ng Mga Font:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: kulay ng font Color_Background: kulay ng background
Oras ng pagpapakita: Sa cache ng imahe, ang (Xstart Ystart) ay ang kaliwang tuktok, at ito ay ipapakita sa loob ng isang yugto ng panahon, at maaari mong piliin ang Ascii code visual character font library, kulay ng font sa harapan, at kulay ng background ng font;
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Font, UWORD Color_Background, UWORD Color_Foreground) Mga Parameter:
Xstart: Ang X coordinate ng kaliwang vertex ng character Ystart: Ang Y coordinate ng kaliwang vertex ng character pTimeDisplayed time, ang isang istraktura ng oras ay tinukoy dito, hangga't ang mga digit ng oras, minuto, at segundo ay ipinapasa sa mga parameter; Font: Ang Ascii code visual character font library ay nagbibigay ng mga sumusunod na font sa folder ng Mga Font:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: kulay ng font Color_Background: kulay ng background
Ipakita ang mga larawan: kapag ang (Xstart Ystart) ay ang kaliwang vertex, magpakita ng larawang may lapad na W_Image at taas na H_Image.
void Paint_DrawImage(const unsigned char *image, UWORD xStart, UWORD yStar t, UWORD W_Image, UWORD H_Image) Mga Parameter:
larawan: address ng imahe, na itinuturo ang impormasyon ng imahe na gusto mong i-disp lay
Xstart: Ang X coordinate ng left vertex ng character Ystart: Ang Y coordinate ng left vertex ng font W_Image: image width H_Image: image height
mapagkukunan
Dokumento
Schematic Diagram
3D na Pagguhit
1.9inch LCD Module 3D Drawing
1.9inch LCD Module 3D preview file
Demo
LCD Module code.zip
Software
Zimo221.7z
Image2Lcd2.9.zip
Turtorial sa Pagkuha ng Larawan
FAQ
Tanong: Ano ang pinakamataas na paggamit ng kuryente ng 1.9-pulgada na LCD
Module?
Sagot: 3.3V 40mA

Tanong: Ano ang maximum na liwanag ng 1.9inch LCD Module? Sagot:
3.3V 380cd/
Suporta
Kung kailangan mo ng teknikal na suporta, mangyaring pumunta sa pahina at magbukas ng tiket.

Mga Dokumento / Mga Mapagkukunan

WAVESHARE 1.9inch LCD Mini Display Module [pdf] Gabay sa Gumagamit
1.9inch LCD Mini Display Module, 1.9inch, LCD Mini Display Module, Mini Display Module, Display Module

Mga sanggunian

Mag-iwan ng komento

Ang iyong email address ay hindi maipa-publish. Ang mga kinakailangang field ay minarkahan *