1.9inch LCD Мини Намоиши Модули

"

Мушаххасоти:

  • Андозаи намоиш: 1.9 дюйм
  • Интерфейс: GH1.25 8PIN
  • Протоколи иртибот: SPI
  • Бо: Raspberry Pi мувофиқ аст

Дастурҳои истифодаи маҳсулот:

Пайвастагии сахтафзор:

Лутфан LCD-ро ба Raspberry Pi-и худ бо истифода аз дастурҳои пешниҳодшуда пайваст кунед
Сими 8PIN. Ҷадвали конфигуратсияи пинҳои зеринро риоя кунед:

LCD VCC GND ДИН CLK
Raspberry Pi BCM2835 3.3В GND МОСКВА SCLK CE0

Интерфейси SPI-ро фаъол созед:

Барои фаъол кардани интерфейси SPI дар Raspberry Pi:

  1. Терминалро кушоед ва фармонро ворид кунед: sudo raspi-config
  2. Барои фаъол кардани имконоти интерфейс -> SPI -> Ҳа -ро интихоб кунед
    SPI
  3. Raspberry Pi-и худро бо истифода аз фармон аз нав оғоз кунед: sudo reboot

C намоишӣ:

Барои иҷро кардани намоиши C:

  1. Китобхонаи BCM2835-ро тавассути иҷро кардани фармонҳои дар
    Терминал
  2. Бо истифода аз фармонҳо китобхонаи wiringPi (ихтиёрӣ) насб кунед
    таъмин карда шудааст
  3. Деморо зеркашӣ кунед files, бо истифода аз додашуда тартиб диҳед ва иҷро кунед
    дастурҳо

Намоиши Python:

Барои иҷро кардани намоиши Python:

  1. Барои Python2 ё Python3 китобхонаҳои зарурии Python насб кунед
    мувофиқи талаботи шумо
  2. Деморо зеркашӣ кунед files риоя карда мешавад
    дастурҳо

Саволҳои зуд-зуд додашаванда (FAQ):

Савол: Чӣ тавр ман метавонам тафтиш кунам, ки интерфейси SPI фаъол аст?

Ҷавоб: Шумо метавонед тавассути санҷиши 'dtparam=spi=on' санҷед, ки SPI фаъол аст ё не
дар /boot/config.txt ва бо истифода аз ls /dev/spi* барои дидани он ки оё SPI аст
ишғол кардааст.

Савол: Агар SPI ишғол шавад, ман бояд чӣ кор кунам?

A: Агар SPI ишғол бошад, тавсия дода мешавад, ки муваққатан баста шавад
дигар фарогирии ронандагон барои озод кардани SPI. Шумо метавонед ls /dev/spi* -ро истифода баред
ҳолатҳои ишғолшудаи SPI-ро тафтиш кунед.

Савол: Чӣ тавр ман метавонам намоишҳои санҷиширо барои ҳама андозаи экран иҷро кунам?

A: Шумо метавонед намоишҳои санҷиширо тавассути ворид кардани мувофиқ даъват кунед
андозаи экран дар терминал. Барои мисолample, sudo ./main 1.9 барои
Экрани 1.9 дюйм.

«`

Модули 1.9 дюймаи LCD

Барview

Модули 1.9 дюймаи LCD

Мушаххасоти

Ҷилди амалиётӣtagд: 3.3V / 5V (Лутфан боварӣ ҳосил кунед, ки қувваи барқ ​​​​ҳаҷtagд бо ҷилдҳои мантиқӣ мувофиқ астtagд, дар акси ҳол он ба таври мӯътадил кор намекунад.) Интерфейси иртиботӣ: Панели намоиши SPI: Ронандаи IPS: ST7789V2 Қарори: 170 (H) RGB × 320 (V) Андозаҳои намоиш: 22.70 × 42.72mm Pixel Pitch: 0.1335 × 0.1335mm Диаметри: 27.3 × 51.2. XNUMX × XNUMXмм

1.9 дюйм 170 × 320, SPI

LCD ва контроллер
Драйвери дарунсохтаи Модули LCD-и 1.9-дюймаи ST7789V2 аст, ки контролери LCD бо 240 x RGB x 320 ва қарори LCD 170 (H) RGB × 320 (V) мебошад. Ғайр аз он, RAM-и дохилии LCD пурра истифода намешавад, зеро он метавонад ҳамчун экрани портретӣ ва уфуқӣ оғоз карда шавад. Ин LCD формати RGB-и вуруди 12 бит, 16 бит ва 18 бит, яъне RGB444, RGB565 ва RGB666 -ро дастгирӣ мекунад. Намоиши дар ин ҷо истифодашаванда RGB565 аст, ки формати RGB, ки мо одатан истифода мебарем. Азбаски LCD 4-сим SPI-ро қабул мекунад, он на танҳо дар муошират тезтар аст, балки сарлавҳаҳои бештари GPIO-ро сарфа мекунад.
Протоколи алоқа

Эзоҳ: Тафовут бо протоколи анъанавии SPI ин аст, ки пинҳои маълумот аз дастгоҳи ғулом ба дастгоҳи ҳост пинҳон аст, зеро он танҳо бояд намоиш дода шавад. Лутфан ба Ҷадвали маълумотҳо Саҳифаи 66 муроҷиат кунед. RESX аз нав танзим карда мешавад, ҳангоми фаъол шудани модул паст кашида мешавад ва одатан ба 1 муқаррар карда мешавад. CSX интихоби чипи дастгоҳи ғулом аст, фаъолнокии паст. D/CX пинҳои идоракунии маълумот / фармони чип мебошад. Ҳангоми DC=0 фармон нависед, ҳангоми DC=1 маълумот нависед. SDA маълумоти интиқолшуда, яъне маълумоти RGB мебошад. SCL соати алоқаи SPI мебошад. Барои иртиботи SPI маълумот бо пайдарпай интиқол дода мешавад, яъне омезиши CPHA (Марҳилаи соат) ва CPOL (Polarity Clock). CPHA назорат мекунад, ки оё маълумот дар канори 1 ё 2-юми SCLK ҷамъоварӣ карда мешавад. Вақте ки CPHA = 0, маълумот дар канори 1-уми SCLK гирифта мешавад. CPOL сатҳи ҳолати бекории SCLK-ро назорат мекунад. Вақте ки CPOL = 0 аст, он дар сатҳи паст аст. Аз расми боло, шумо мебинед, ки он ба интиқоли маълумот дар канори 1-уми SCLK оғоз мекунад. Маълумоти 8-бит дар як давраи соат интиқол дода мешавад ва бо SPI0, маълумот аз баланд ба паст дар бит интиқол дода мешавад.
Raspberry Pi

Пайвастагии сахтафзор

Лутфан LCD-ро ба Raspberry Pi-и худ бо сими 8PIN мувофиқи ҷадвали зер пайваст кунед.

Ба Raspberry Pi пайваст шавед

LCD
VCC GND DIN CLK
CS DS RST BL

BCM2835 3.3V GND MOSI SCLK CE0 25 27 18

Raspberry Pi

Шӯрои 3.3V GND
19 23 24 22 13 12

LCD 1.9inch интерфейси GH1.25 8PIN-ро истифода мебарад, ки онро мувофиқи ҷадвали дар боло овардашуда ба Raspberry Pi пайваст кардан мумкин аст: (Лутфан мувофиқи ҷадвали таърифи PIN пайваст шавед. Ранги ноқилҳои тасвир танҳо барои истинод аст ва ранги воқеӣ бартарӣ хоҳад дошт.)

Интерфейси SPI-ро фаъол созед
Терминалро кушоед ва фармони зеринро барои ворид шудан ба саҳифаи конфигуратсия истифода баред:
sudo raspi-config Имконоти интерфейс -> SPI -> Ҳа -ро интихоб кунед, то интерфейси SPI-ро фаъол созед

Raspberry Pi-ро аз нав оғоз кунед
sudo аз нав бор кунед
Санҷед, /boot/config.txt, ва шумо мебинед 'dtparam = spi = on' навишта шудааст.
Барои боварӣ ҳосил кардан, ки SPI ишғол нашудааст, тавсия дода мешавад, ки дигар фарогирии ронандагонро муваққатан пӯшед. Шумо метавонед "ls /dev/spi*" -ро истифода баред, то тафтиш кунед, ки оё SPI ишғол шудааст. Агар терминал "/dev/spidev0.0" ва " /dev/spidev0.1" баромад кунад, ин маънои онро дорад, ки SPI дар ҳолати муқаррарӣ аст.
C Намоиш
BCM2835-ро насб кунед
#Терминали Raspberry Pi-ро кушоед ва фармони зеринро иҷро кунед wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz tar zxvf bcm2835-1.71.tar.gz cd bcm2835-1.71/ sudo . танзим кунед && sudo make && sudo make check && sudo make install # Барои маълумоти бештар лутфан ба расмиёт муроҷиат кунед webсайт: http://www.a irspayce.com/mikem/bcm2835/
WiringPi насб кунед (ихтиёрӣ)
#Терминали Raspberry Pi-ро кушоед ва фармонҳои зеринро иҷро кунед: sudo apt-get install wiringpi #Барои системаҳои Raspberry Pi пас аз моҳи майи соли 2019 (иҷро кардани системаҳои қаблӣ лозим нест), метавонад навсозӣ талаб карда шавад: wget https://project -downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v # Run gpio -v ва версияи 2.52 пайдо мешавад. Агар он пайдо нашавад, ин маънои онро дорад, ки дар насб хатогӣ вуҷуд дорад.
#Системаи шохаҳои Bullseye фармонҳои зеринро истифода мебарад: git clone https://github.com/WiringPi/WiringPi cd WiringPi ./build gpio -v # Run gpio -v ва версияи 2.60 пайдо мешавад. Агар он пайдо нашавад, ин маънои онро дорад, ки дар насб хатогӣ вуҷуд дорад.
Зеркашии намоишӣ
sudo apt-get насб кунед 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/
Аз нав тартиб диҳед ва он метавонад якчанд сонияро талаб кунад.
cd c sudo make clean sudo make -j 8
Намоишҳои санҷиширо барои ҳама экранҳо метавон мустақиман бо ворид кардани андозаи мувофиқ даъват кард:
sudo ./main 1.9
Намоиши Python
Китобхонаҳоро насб кунед
#python2 sudo apt-get навсозӣ sudo apt-get насб кунед python-pip sudo apt-get насб кунед python-pil sudo apt-get насб кунед python-numpy sudo pip насб кунед RPi.GPIO sudo pip насб кунед spidev #python3 sudo apt-get навсозӣ sudo apt -даст насб кунед python3-pip sudo apt-get насб кунед python3-pil sudo apt-get насб кунед python3-numpy sudo pip3 насб кунед RPi.GPIO sudo pip3 насб кунед spidev
Зеркашии намоишӣ
sudo apt-get насб кунед 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/
Феҳристи намоишии python-ро ворид кунед ва "ls -l" -ро иҷро кунед
CD python/examples ls -l

Шумо метавонед ҳама намоишҳои санҷиширо барои LCD-ҳо бинед ва онҳо аз рӯи андозаҳо тасниф карда мешаванд.

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.96 дюймаи LCD 1.14 дюйм намоиши санҷиши LCD 1.28 дюймаи LCD намоишӣ 1.3 дюймаи санҷиши LCD намоишӣ 1.47 дюймаи санҷиши LCD намоишӣ 1.54 дюймаи LCD намоишӣ 1.8 дюймаи санҷиши LCD намоишӣ 1.9 дюймаи LCD намоишӣ 2 дюйм санҷиши LCD намоишӣ

Намоиши мувофиқро иҷро кунед ва он python2/3 -ро дастгирӣ мекунад.

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

Портинги FBCP
Framebuffer дастгоҳи баромади видеоиро барои рондани дастгоҳи намоиши видео аз буфери хотираи дорои маълумоти пурраи чаҳорчӯба истифода мебарад. Оддӣ карда гӯем, майдони хотира барои нигоҳ доштани мундариҷаи намоиш истифода мешавад ва мундариҷаи намоишро тавассути тағир додани маълумот дар хотира тағир додан мумкин аст. Дар github як лоиҳаи кушодаасос мавҷуд аст: fbcp-ili9341. Дар муқоиса бо дигар лоиҳаҳои fbcp, ин лоиҳа қисман навсозӣ ва DMA-ро барои ба даст овардани суръати то 60 кадр / сония истифода мебарад.
Драйверҳоро зеркашӣ кунед
sudo apt-get install cmake -y cd ~ wget https://www.waveshare.com/w/upload/1/18/Waveshare_fbcp.zip кушодан Waveshare_fbcp.zip cd Waveshare_fbcp/ sudo chmod +x ./shell/*
Усули 1: Скриптро истифода баред (тавсия дода мешавад)
Дар ин ҷо мо якчанд скриптҳоро навиштем, ки ба корбарон имкон медиҳанд, ки fbcp-ро зуд истифода баранд ва фармонҳои мувофиқро мувофиқи экрани худ иҷро кунанд Агар шумо скриптро истифода баред ва ба тағир додани он ниёз надоред, шумо метавонед усули дуюми зерро сарфи назар кунед. Эзоҳ: Скрипт мувофиқи /boot/config.txt ва /etc/rc.local-ро иваз мекунад ва аз нав оғоз мекунад, агар корбар лозим бошад, лутфан нусхаи мувофиқро нусхабардорӣ кунед. fileс пешакӣ.
#0.96inch Модули LCD sudo ./shell/waveshare-0inch96 #1.14inch LCD Модули sudo ./shell/waveshare-1inch14 #1.3inch LCD Модули sudo ./shell/waveshare-1inch3 #1.44inch Module LCD sudoshave ./shell/wave -1inch44 #1.54inch LCD Модули sudo ./shell/waveshare-1inch54 #1.8inch LCD Модули sudo ./shell/waveshare-1inch8 #2inch LCD Модули sudo ./shell/waveshare-2inch #2.4inch Module LCD sudo ./shell/ waveshare-2inch4
Усули 2: Танзимоти дастӣ
Конфигуратсияи муҳити зист
Raspberry Pi vc4-kms-v3d боиси нокомии fbcp мешавад, аз ин рӯ мо бояд пеш аз насб кардан дар fbcp vc4-kms-v3d-ро пӯшем.
sudo nano /boot/config.txt
Танҳо изҳороти мувофиқро ба расми зер манъ кунед:

Бозсозӣ:
sudo аз нав бор кунед
Тартиб диҳед ва иҷро кунед
mkdir сохтани CD сохтани cmake [имконот] .. sudo make -j sudo ./fbcp
Онро худатон мувофиқи модули LCD, ки шумо истифода мебаред, дар боло cmake [имкониятҳо] иваз кунед ..
#0.96дюймаи LCD Модули sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_0INCH96_LCD=ON -DBACKLIG HT_CONTROL=ON -DSTATISTICS=0 .. #1.14дюймаи Модули LCD sudo cmake -DSPI_HAIVES_20DUS_1DUS_CMAKE -CLORKAV14DUS_ LCD=ON -DACKLIG HT_CONTROL=ON -DSTATISTICS=0 .. #1.3inch LCD Модули sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH3_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=0 .. #1.54inch Module LCD sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH54_LCD=ON _LCD=ON -DBACKLIG HT_CONTROL=ON -DSTATISTICS =0 .. #1.8дюймаи LCD Модули sudo cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH8_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=0 .. #2дюйм Модули LCD sudo cmake -DSPI_BUS_CLOCK_DIVISOR = DSPI_CHIVDUS_20 =ДОДАР -НАЗОРАТИ РУШДИ _НАЗОРАТ=ФУРӮШ - DSTATISTICS=2 .. #0дюймаи LCD Модули sudo cmake -DSPI_BUS_CLOCK_DIVISOR=2.4 -DWAVESHARE_20INCH2_LCD=ON -DBACKLIGH T_CONTROL=ON -DSTATISTICS=4 ..
Барои оғоз кардани худкор насб кунед
sudo cp ~/Waveshare_fbcp/buil d/fbcp /usr/local/bin/fbcp sudo nano /etc/rc.local
Пеш аз баромадан аз 0 fbcp& илова кунед. Дар хотир доред, ки шумо бояд "&" -ро барои кор дар замина илова кунед, вагарна система метавонад оғоз нашавад.
Ҳалли намоишро танзим кунед
Андозаи намоиши интерфейси корбарро дар /boot/config.txt насб кунед file.
sudo nano /boot/config.txt
Пас сатрҳои зеринро дар охири config.txt илова кунед.
hdmi_force_hotplug=1 hdmi_cvt=[имконот] hdmi_group=2 hdmi_mode=1 hdmi_mode=87 display_rotate=0
Мувофиқи Модули LCD, ки шумо истифода мебаред, hdmi_cvt=[Options]-и болоро иваз кунед.
#2.4inchinch LCD Модули & 2inchinch LCD Модули hdmi_cvt=640 480 60 1 0 0 0
#1.8дюймаи LCD Модули hdmi_cvt=400 300 60 1 0 0 0
Модули #1.3дюймаи LCD & Модули 1.54дюймаи LCD hdmi_cvt=300 300 60 1 0 0 0
#1.14дюймаи LCD Модули hdmi_cvt=300 170 60 1 0 0 0
#0.96дюймаи LCD Модули hdmi_cvt=300 150 60 1 0 0 0
Ва он гоҳ системаро бозоғоз намоед:
sudo аз нав бор кунед
Пас аз бозсозии система, интерфейси корбарии Raspberry Pi OS намоиш дода мешавад.

STM32

Пайвастагии сахтафзор

Намоиши пешниҳодкардаи мо ба STM32F103RBT6 асос ёфтааст ва он ба пинҳои STM32F103RBT6 пайваст аст. Агар ба шумо лозим аст, ки барномаро интиқол диҳед, шумо метавонед онро мувофиқи пинҳои воқеӣ пайваст кунед.

Мукотиботи Пайвастшавӣ STM32F103ZET
LCD VCC GND DIN CLK
CS DC RST BL

STM32 3.3V GND PA7 PA5 PB6 PA8 PA9 PC7

XNUCLEO-F103RB-ро, ки ширкати мо таҳия кардааст, ҳамчун собиқ гиредample, пайвастшавӣ чунин аст:

Намоишро иҷро кунед
Намоишро зеркашӣ кунед ва STM32-ро пайдо кунед file директория, LCD_demo.uvprojx -ро дар феҳристи STM32STM32F103RBT6MDK-ARM кушоед, пас шумо метавонед намоишро бубинед.
main.c -ро кушоед ва шумо метавонед ҳама намоишҳои санҷиширо бубинед. Вақте ки мо модули LCD-и 1.9-дюймаро истифода мебарем, мо бояд шарҳро дар назди "LCD_1in9_test();" хориҷ кунем. ва дубора тартиб диҳед ва зеркашӣ кунед.

Тавсифи намоишӣ

Интерфейси асосии сахтафзор

Навъи маълумот

#муайян кардани UBYTE #муайян кардани UWORD #муайян кардани UDOUBLE

uint8_t uint16_t uint32_t

Оғозсозии модул ва коркарди баромадан
void DEV_Module_Init(беэътибор); void DEV_Module_Exit (беэътибор); Эзоҳ: 1. Ин аст коркарди баъзе GPIO пеш ва баъд аз истифодаи экрани LCD en; 2. Пас аз истифода шудани функсияи DEV_Module_Exit, дисплейи LCD хомӯш карда мешавад;

GPIO нависед ва хонед
Void DEV_Digital_Write(UWORD Pin, арзиши UBYTE); UBYTE DEV_Digital_Read(PIN UWORD);
SPI маълумот менависад
Void DEV_SPI_WRITE (UBYTE _dat);

Аризаи боло
Барои LCD, он барномаи болоест, ки тасвирҳоро мекашад, аломатҳои чинӣ/англисиро намоиш медиҳад, тасвирҳоро намоиш медиҳад ва ғайра. Бисёр дӯстон дар бораи коркарди графикӣ пурсиданд. Мо дар ин ҷо баъзе вазифаҳои асосиро пешниҳод мекунем. Шумо метавонед GUI-ро дар феҳристи зерин пайдо кунед: STM32STM32F103RBUserGUI_DEVGUI_Paint.c(.h) Эзоҳ: GUI мустақиман дар RAM LCD аз сабаби маҳдудиятҳои RAM аз STM32 ва Arduino навишта шудааст.

Феҳристи зерин шрифтҳои вобастагии GUI мебошанд: STM32STM32F103RBUserFonts

Хусусиятҳои нави тасвир: хосиятҳои тасвир иборатанд аз: номи кэши тасвир, паҳно, баландӣ, кунҷи гардиш ва ранг.
void Paint_NewImage(UWORD паҳнои, баландии UWORD, гардиши UWORD, ранги UWORD); Параметрҳо:
Васеъ: паҳнои кэши тасвир Баландӣ: баландии кэши тасвир Гард кардан: кунҷи гардиши кеши тасвир Ранг: ранги кэши тасвир
Функсияи тозакунии экранро муқаррар кунед, ки одатан вазифаи равшани LCD-ро даъват мекунад;
void Paint_SetClearFuntion(void (*Clear)(UWORD)); Параметрҳо:
Тоза: Нишондиҳанда ба вазифаи тозакунии экран, ки барои зуд тоза кардани экран ба ранги муайян истифода мешавад;
Функсияи кашидани пикселҳоро муқаррар кунед, ки одатан функсияи DrawPaint-и LCD-ро меноманд;
void Paint_SetDisplayFuntion(void (*Display)(UWORD,UWORD,UWORD)); Параметрҳо:
Намоиш: Нишондиҳанда ба вазифаи кашидани пикселҳо, ки барои навиштани маълумот ба макони муайяншудаи хотираи дохилии LCD истифода мешавад;
Кэши тасвирро интихоб кунед: кэши тасвирро интихоб кунед, ҳадафи интихоб ин аст, ки шумо метавонед хосиятҳои тасвирҳои сершумор эҷод кунед, кэшҳои тасвир метавонанд якчанд вуҷуд дошта бошанд ва шумо метавонед ҳар як тасвири офаридаатонро интихоб кунед.
void Paint_SelectImage (UBYTE *image) Параметрҳо:
тасвир: Номи кэши тасвир, ки воқеан як ишора ба суроғаи якуми кеши тасвир аст;
Гардиши тасвир: кунҷи гардиши тасвири интихобшударо таъин кунед ва тавсия дода мешавад, ки онро пас аз "Paint_SelectImage()" истифода баред ва шумо метавонед гардиши 0, 90, 180, 270-ро интихоб кунед.
void Paint_SetRotate (UWORD Rotate) Параметрҳои:
Гард кардан: кунҷи интихоби тасвир, шумо метавонед ROTATE_0, ROTATE_90, ROTAT E_180 ва ROTATE_270-ро мутаносибан ба 0, 90, 180 ва 270 дараҷа интихоб кунед
Эзоҳ: Дар кунҷҳои гуногуни интихоб, координатҳо ба пикселҳои гуногуни ибтидоӣ мувофиқат мекунанд. Дар ин ҷо мо 1.14-ро ҳамчун собиқ мегиремample, ва чор расм бо тартиби 0°, 90°, 180° ва 270° мебошанд. танҳо барои истинод:

Баргардонидани оинаи тасвир: гардиши оинаи тасвири интихобшударо танзим кунед, шумо метавонед ҳеҷ оина, оинаи уфуқӣ, оинаи амудӣ ё оинаи марказии тасвирро интихоб накунед.
void Paint_SetMirroring (оинаи UBYTE) Параметрҳо:
оина: MIRROR_NONEMIRROR_HORIZONTALMIRROR_VERTICALMIRROR_ORI GIN мутаносибан ба ҳеҷ гуна оинакунӣ, оинаи уфуқӣ, оинасозии вертикалӣ, оинаи маркази тасвир мувофиқат намекунад

Мавқеи намоиш ва ранги нуқтаро дар кэш танзим кунед: ин аст вазифаи асосии GUI барои коркарди мавқеъ ва ранги нуқтаҳо дар кэш.
void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) Параметрҳо:
Xpoint: мавқеи X нуқта дар кеши тасвир Ypoint: мавқеи Y нуқта дар кеши тасвир Ранг: ранги намоиши нуқта

Кэши тасвир ранги пур мекунад: кэши тасвирро бо ранги муайян пур кунед, одатан барои дурахши экран ба холӣ.
void Paint_Clear (Rang UWORD) Параметрҳои:
Ранг: ранги пур

Ранги пур кардани қисми равзанаи кэши тасвир: як қисми муайяни равзанаи кеши тасвирро бо ранги муайян пур кунед, ки одатан ҳамчун вазифаи сафедкунии тиреза истифода мешавад, аксар вақт барои намоиши вақт, сафедкунӣ барои як сония истифода мешавад.
void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen d, UWORD Color) Параметр:
Xstart: X координатҳои оғози тиреза Ystart: Y координатҳои оғози тиреза Xend: X координатаҳои охири равзана Yend: Y координатҳои охири равзана Ранг: Ранги пуркунӣ

Нуктаҳоро кашед: Дар кеши тасвир нуқтаҳоро дар рӯи (Xpoint, Ypoint) кашед, шумо метавонед ранг, андозаи нуқта ва услуби нуқтаро интихоб кунед.

void Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Иҷро кунед

t_Pixel, DOT_STYLE Нуқта_Style)

Параметрҳо:

Xpoint: X координатаи нуқта

Нуқтаи Y: координати Y нуқта

Ранг: ранги пур

Dot_Pixel: Андозаи нуқта, ки 8 нуқтаи андозаи пешфарзро таъмин мекунад

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: Услуби нуқта, роҳи тавсеаи андоза аст

бо нуқта ҳамчун марказ васеъ кунед ё бо нуқта ҳамчун паст васеъ кунед

кунҷи чап ба тарафи рости боло.

typedef enum {

DOT_FILL_AROUND = 1,

DOT_FILL_RIGHTUP,

} DOT_STYLE;

Хат кашед: дар кеши тасвир аз (Xstart, Ystart) то (Xend, Yend) хат кашед, шумо метавонед ранг, паҳнои сатр ва сабки сатрро интихоб кунед.

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

Ранги ORD, LINE_STYLE Line_Style, LINE_STYLE Line_Style)

Параметрҳо:

Xstart: координати X-и нуқтаи ибтидоии хат

Ystart: координатаи Y нуқтаи ибтидоии хат

Xend: Координатаи охири X-и хат

Yend: Координата нуқтаи охири Y хат

Ранг: Ранги пур кунед

Line_width: Паҳнои сатр, ки 8 паҳнои пешфарзро таъмин мекунад

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: Услуби хат, интихоб кунед, ки хатҳо дар он пайвастанд ё не

хати рост ё хати нуқта.

typedef enum {

LINE_STYLE_SOLID = 0,

LINE_STYLE_DOTTED,

} LINE_STYLE;

Росткунҷа кашед: Дар кэши тасвир аз (Xstart, Ystart) то (Xend, Yend) росткунҷае кашед, шумо метавонед ранг, паҳнои хат ва пур кардани дохили росткунҷаро интихоб кунед.

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

d, UWORD ранги, DOT_PIXEL паҳнои хат, DRAW_FILL кашидан_пур кардан)

Параметрҳо:

Xstart: координати X-и нуқтаи ибтидоии росткунҷа

Ystart: координатаи Y нуқтаи ибтидоии росткунҷа

Xend: X координати нуқтаи ниҳоии росткунҷа

Yend: координати Y нуқтаи ниҳоии росткунҷа

Ранг: Ранги пуршуда

Line_width: Паҳнои чор тарафи росткунҷа, providin

g 8 паҳнои пешфарз

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: пур кардан, пур кардани дохили росткунҷа

typedef enum {

DRAW_FILL_EMPTY = 0,

ПУРДАН_ПУР,

} DRAW_FILL;

Доира кашед: Дар кэши тасвир бо (X_Center Y_Center) ҳамчун марказ, доираеро бо Радиус кашед, шумо метавонед ранг, паҳнои хат ва пур кардани дохили доираро интихоб кунед.

void Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD радиус, UWORD

Ранг, DOT_PIXEL Бари хат, DRAW_FILL Draw_Fil)

Параметрҳо:

X_Center: X координатаи маркази доира

Y_Center: Y координатаи маркази доира Радиуси доира

Ранг: ранги пур

Line_width: Паҳнои камон, ки 8 паҳнои пешфарзро таъмин мекунад

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: пур кардан, пур кардани дохили доира

typedef enum {

DRAW_FILL_EMPTY = 0,

ПУРДАН_ПУР,

} DRAW_FILL;

Аломатҳои Ascii-ро нависед: дар буфери тасвир аломати Ascii-ро дар (Xstart Ystart) ҳамчун қуллаи чап нависед, шумо метавонед китобхонаи ҳуруфи визуалии аломатҳои Ascii код, ранги пеши ҳарф ва ранги заминаро интихоб кунед.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFO NT* Font, UWORD Color_Foreground, UWORD Color_background) Параметрҳо:
Xstart: Координати X-и қуллаи чапи аломат Ystart: Координатаи Y қуллаи чапи аломати Ascii_Char Ascii аломатҳо Шрифт: Китобхонаи ҳуруфи визуалии аломатҳои Ascii рамзи шрифтҳои зеринро дар ҷузвдони Fonts таъмин мекунад:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: ранги шрифт Ранги_Замин: ранги замина
Сатрҳои аломатҳои англисиро нависед: дар кеши тасвир, дар (Xstart Ystart) ҳамчун қуллаи чап, сатри аломатҳои англисиро нависед, шумо метавонед китобхонаи ҳуруфи визуалии аломатҳои Ascii, ранги ҳуруфи пешина, ранги заминаро интихоб кунед;
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background) Параметрҳо:
Xstart: Координати X-и қуллаи чапи аломат Ystart: Координатаи Y қуллаи чапи шрифт pString: string, string нишондиҳанда аст Шрифт: Китобхонаи ҳуруфи визуалии аломатҳои Ascii шрифтҳои зеринро дар ҷузвдони Fonts таъмин мекунад. :
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: ранги шрифт Ранги_Замин: ранги замина
Сатрҳои аломатҳои чиниро нависед: дар кеши тасвир, дар (Xstart Ystart) ҳамчун қуллаи чап, сатри аломатҳои чиниро нависед, шумо метавонед GB2312 шрифти рамзи рамзӣ, ранги пеши ҳарф, ранги заминаи ҳуруфро интихоб кунед;
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFONT* шрифт, UWORD Color_Foreground, UWORD Color_background) Параметрҳо:
Xstart: Координати X-и қуллаи чапи аломат Ystart: Координатаи Y қуллаи чапи аломат pString: сатр, сатр нишондиҳанда аст Шрифт: Китобхонаи шрифти рамзҳои GB2312 шрифтҳои зеринро дар ҷузвдони Fonts таъмин мекунад:
font12CNascii шрифт 11*21, шрифти чинӣ 16*21 font24CNascii шрифт 24*41, шрифти чинӣ 32*41 Ранги_Пеш: ранги ҳуруф Ранги_Замин: ранги замина
Рақамҳоро нависед: Дар кеши тасвир, як сатри рақамҳоро дар (Xstart Ystart) ҳамчун қуллаи чап нависед, шумо метавонед китобхонаи ҳуруфи визуалии аломатҳои визуалии рамзи Ascii, ранги пеши ҳуруф, ранги заминаи ҳуруфро интихоб кунед.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, int32_t Number, sFONT* Fon t, UWORD Color_Foreground, UWORD Color_background) Параметрҳо:
Xstart: Координатаи X-и қуллаи чапи аломат Ystart: Координатаи Y қуллаи чапи аломат Рақам: Рақами дар ин ҷо нишон додашуда дар намуди 32-битии int нигоҳ дошта мешавад, ки онро то 2147483647 намоиш додан мумкин аст Шрифт: Китобхонаи шрифти аломатҳои визуалии рамзи Ascii шрифтҳои зеринро дар ҷузвдони Fonts таъмин мекунад:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: ранги шрифт Ранги_Замин: ранги замина
Рақамҳоро бо даҳҳо нависед: дар кеши тасвир, (Xstart Ystart) қуллаи чап аст, як сатри ададҳоро нависед, ки рақамҳои даҳӣ дошта бошанд, шумо метавонед китобхонаи ҳуруфи визуалии аломатҳои Ascii, ранги пеши ҳуруф, ранги заминаи ҳуруфро интихоб кунед.
void Paint_DrawFloatNum(UWORD Xpoint, UWORD Ypoint, рақами дукарата, UBYTE Даҳӣ_нуқта, sFONT* Шрифт, UWORD Color_Foreground, UWORD Color_Backg даври); Параметрҳо:
Xstart: Координати X-и қуллаи чапи аломат Ystart: Координатаи Y қуллаи чапи аломат Рақам: Рақаме, ки дар ин ҷо нишон дода шудааст, бо навъи дукарата нигоҳ дошта мешавад, ки барои эҳтиёҷоти умумӣ кофӣ аст Decimal_Point: Шумораи рақамҳоро пас аз Шрифт: Китобхонаи ҳуруфи аломатҳои визуалии рамзи Ascii шрифтҳои зеринро дар ҷузвдони Шрифтҳо таъмин мекунад:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: ранги шрифт Ранги_Замин: ранги замина
Вақти намоиш: Дар кэши тасвир, (Xstart Ystart) қуллаи чап аст ва он барои як муддати вақт намоиш дода мешавад ва шумо метавонед китобхонаи ҳуруфи визуалии аломатҳои Ascii, ранги пеши ҳарф ва ранги заминаро интихоб кунед;
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Шрифт, UWORD Color_Background, UWORD Color_Foreground) Параметрҳо:
Xstart: Координати X-и қуллаи чапи аломат Ystart: Координатаи Y қуллаи чапи аломат pTime: Вақти нишондодашуда дар ин ҷо сохтори вақт муайян карда мешавад, ба шарте ки рақамҳои соатҳо, дақиқаҳо ва сонияҳо гузаронида шаванд ба параметрҳо; Шрифт: Китобхонаи ҳуруфи аломатҳои визуалии рамзи Ascii шрифтҳои зеринро дар ҷузвдони Fonts таъмин мекунад:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: ранги шрифт Ранги_Замин: ранги замина

Arduino

Эзоҳ: ҳама намоишҳо дар Arduino uno озмуда шудаанд. Агар ба шумо дигар намудҳои Arduino лозим бошад, шумо бояд муайян кунед, ки оё пинҳои пайвастшавӣ дурустанд.

Насби IDE
Қадамҳои насби Arduino IDE

Пайвастагии сахтафзор
Мукотиботи Пайвастшавӣ Arduino UNO Pin
LCD VCC GND DIN CLK
CS DC RST BL
Диаграммаи пайвастшавӣ чунин аст (барои калон кардан клик кунед):

UNO 5V
GND D11 D13 D10 D7 D8 D9

Намоишро иҷро кунед
Намоишро зеркашӣ кунед ва онро кушоед. Намоиши Arduino дар ~/Arduino/… ҷойгир аст. Вақте ки мо модули LCD-и 1.9 дюймро истифода мебарем, мо бояд LCD_1inch9-ро кушоем file ҷузвдон ва идора кардани LCD_1inch9.ino file папка.
Намоишро кушоед ва модели тахтаи рушдро ҳамчун Arduino UNO интихоб кунед.

Порти COM-и мувофиқро интихоб кунед.

Ва он гоҳ компилясия ва зеркашӣ клик кунед.

Тавсифи намоишӣ File Муқаддима
Arduino UNO-ро, ки 1.54 дюймаи LCD-ро идора мекунад, ҳамчун собиқ гиредample, директорияи ArduinoLCD_1inch54 -ро кушоед.
LCD_1inch54.ino: Онро бо Arduino IDE кушоед. LCD_Driver.cpp (.h): Ин ронандаи экрани LCD аст. DEV_Config.cpp(.h): Ин таърифи интерфейси сахтафзор аст, ки сатҳи хониш ва навиштани пин, маълумоти интиқоли SPI ва оғозкунии пинро фаро мегирад. font8.cpp, font12.cpp, font16.cpp, font20.cpp, font24.cpp, font24CN.cpp, fonts.h: ҳуруфҳо барои аломатҳои андозаҳои гуногун. image.cpp(.h): Ин маълумоти тасвирӣ мебошад, ки метавонад ҳама гуна тасвири BMP-ро ба массиви тасвири 16-битии ҳақиқии ранга тавассути Img2Lcd табдил диҳад (метавонад дар #Resource зеркашӣ карда шавад). Намоиш ба интерфейси сахтафзори асосӣ, драйвери LCD-қабати миёна ва замимаи қабати болоӣ тақсим карда мешавад.
Интерфейси асосии сахтафзор
Интерфейси сахтафзор дар ду муайян карда мешавад files DEV_Config.cpp (.h) ва вазифаҳо ба монанди хондан ва навиштани сатҳҳои PIN, таъхирҳо ва интиқоли SPI фаро гирифта шудаанд.
Сатҳи пинҳоро нависед
Void DEV_Digital_Write (int pin, арзиши int)
Параметри аввал пин аст, ва дуюм сатҳи баланд ва паст аст. Сатҳи пинҳоро нависед
int DEV_Digital_Read (pin int)
Параметр пин аст ва арзиши бозгашт сатҳи пинҳои хондашуда мебошад. Таъхир
DEV_Delay_ms (вақти таъхири имзонашуда)
Таъхири сатҳи миллисония. Маълумоти баромади SPI
DEV_SPI_WRITE (маълумоти аломати беимзо)
Параметр навъи char аст, ки 8 битро ишғол мекунад.
Аризаи боло
Барои LCD, он барномаи болоест, ки тасвирҳоро мекашад, аломатҳои чинӣ/англисиро намоиш медиҳад, тасвирҳоро намоиш медиҳад ва ғайра. Бисёр дӯстон дар бораи коркарди графикӣ пурсиданд. Мо дар ин ҷо баъзе вазифаҳои асосии GUI_Paint.c(.h)-ро таъмин мекунем. Эзоҳ: GUI мустақиман дар RAM LCD навишта шудааст, аз сабаби маҳдудиятҳои RAM STM32 ва Arduino.
Ҳарфҳои аз ҷониби GUI истифодашаванда ҳама аз шрифт*.cpp(h) вобастаанд. file зери ҳамин file.

Хусусиятҳои нави тасвир: хосиятҳои тасвир иборатанд аз: номи кэши тасвир, паҳно, баландӣ, кунҷи гардиш ва ранг.
void Paint_NewImage(UWORD паҳнои, баландии UWORD, гардиши UWORD, ранги UWORD); Параметрҳо:
Васеъ: паҳнои кэши тасвир Баландӣ: баландии кэши тасвир Гард кардан: кунҷи гардиши кеши тасвир Ранг: ранги кэши тасвир
Функсияи тозакунии экранро муқаррар кунед, ки одатан вазифаи равшани LCD-ро даъват мекунад;
void Paint_SetClearFuntion(void (*Clear)(UWORD)); Параметрҳо:
Тоза: Нишондиҳанда ба вазифаи тозакунии экран, ки барои зуд тоза кардани экран ба ранги муайян истифода мешавад;
Функсияи кашидани пикселҳоро муқаррар кунед, ки одатан функсияи DrawPaint-и LCD-ро меноманд;
void Paint_SetDisplayFuntion(void (*Display)(UWORD,UWORD,UWORD)); Параметрҳо:
Намоиш: Нишондиҳанда ба вазифаи кашидани пикселҳо, ки барои навиштани маълумот ба макони муайяншудаи хотираи дохилии LCD истифода мешавад;
Кэши тасвирро интихоб кунед: кэши тасвирро интихоб кунед, ҳадафи интихоб ин аст, ки шумо метавонед хосиятҳои тасвирҳои сершумор эҷод кунед, кэшҳои тасвир метавонанд якчанд вуҷуд дошта бошанд ва шумо метавонед ҳар як тасвири офаридаатонро интихоб кунед.
void Paint_SelectImage (UBYTE *image) Параметрҳо:
тасвир: Номи кэши тасвир, ки воқеан як ишора ба суроғаи якуми кеши тасвир аст;
Гардиши тасвир: кунҷи гардиши тасвири интихобшударо таъин кунед ва тавсия дода мешавад, ки онро пас аз "Paint_SelectImage()" истифода баред ва шумо метавонед гардиши 0, 90, 180, 270-ро интихоб кунед.
void Paint_SetRotate (UWORD Rotate) Параметрҳои:
Гард кардан: кунҷи интихоби тасвир, шумо метавонед ROTATE_0, ROTATE_90, ROTAT E_180 ва ROTATE_270-ро мутаносибан ба 0, 90, 180 ва 270 дараҷа интихоб кунед
Эзоҳ: Дар кунҷҳои гуногуни интихоб, координатҳо ба пикселҳои гуногуни ибтидоӣ мувофиқат мекунанд. Дар ин ҷо мо 1.14-ро ҳамчун собиқ мегиремample, ва чор расм бо тартиби 0°, 90°, 180° ва 270° мебошанд. танҳо барои истинод:

Баргардонидани оинаи тасвир: гардиши оинаи тасвири интихобшударо танзим кунед, шумо метавонед ҳеҷ оина, оинаи уфуқӣ, оинаи амудӣ ё оинаи марказии тасвирро интихоб накунед.
void Paint_SetMirroring (оинаи UBYTE) Параметрҳо:
оина: MIRROR_NONEMIRROR_HORIZONTALMIRROR_VERTICALMIRROR_ORI GIN мутаносибан ба ҳеҷ гуна оинакунӣ, оинаи уфуқӣ, оинасозии вертикалӣ, оинаи маркази тасвир мувофиқат намекунад

Мавқеи намоиш ва ранги нуқтаро дар кэш танзим кунед: ин аст вазифаи асосии GUI барои коркарди мавқеъ ва ранг дар кэш.
void Paint_SetPixel(UWORD Xpoint, UWORD Ypoint, UWORD Color) Параметрҳо:
Xpoint: мавқеи X нуқта дар кеши тасвир Ypoint: мавқеи Y нуқта дар кеши тасвир Ранг: ранги намоиши нуқта

Кэши тасвир ранги пур мекунад: кэши тасвирро бо ранги муайян пур кунед, одатан барои дурахши экран ба холӣ.
void Paint_Clear (Rang UWORD) Параметрҳои:
Ранг: ранги пур

Ранги пур кардани қисми равзанаи кэши тасвир: як қисми муайяни равзанаи кеши тасвирро бо ранги муайян пур кунед, ки одатан ҳамчун вазифаи сафедкунии тиреза истифода мешавад, аксар вақт барои намоиши вақт, сафедкунӣ барои як сония истифода мешавад.
void Paint_ClearWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yen d, UWORD Color) Параметрҳо:
Xstart: X координатҳои оғози тиреза Ystart: Y координатҳои оғози тиреза Xend: X координатаҳои охири равзана Yend: Y координатҳои охири равзана Ранг: Ранги пуркунӣ

Нуктаҳоро кашед: Дар кеши тасвир нуқтаҳоро дар рӯи (Xpoint, Ypoint) кашед, шумо метавонед ранг, андозаи нуқта ва услуби нуқтаро интихоб кунед.

void Paint_DrawPoint(UWORD Xpoint, UWORD Ypoint, UWORD Color, DOT_PIXEL Иҷро кунед

t_Pixel, DOT_STYLE Нуқта_Style)

Параметрҳо:

Xpoint: X координатаи нуқта

Нуқтаи Y: координати Y нуқта

Ранг: ранги пур

Dot_Pixel: Андозаи нуқта, ки 8 нуқтаи андозаи пешфарзро таъмин мекунад

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: Услуби нуқта, роҳи тавсеаи андоза аст

бо нуқта ҳамчун марказ васеъ кунед ё бо нуқта ҳамчун паст васеъ кунед

кунҷи чап ба тарафи рости боло.

typedef enum {

DOT_FILL_AROUND = 1,

DOT_FILL_RIGHTUP,

} DOT_STYLE;

Хат кашед: дар кеши тасвир аз (Xstart, Ystart) то (Xend, Yend) хат кашед, шумо метавонед ранг, паҳнои сатр ва сабки сатрро интихоб кунед.

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

Ранги ORD, LINE_STYLE Line_Style, LINE_STYLE Line_Style)

Параметрҳо:

Xstart: координати X-и нуқтаи ибтидоии хат

Ystart: координатаи Y нуқтаи ибтидоии хат

Xend: Координата нуқтаи охири X-и хат

Yend: Координата нуқтаи охири Y хат

Ранг: Ранги пур кунед

Line_width: Паҳнои сатр, ки 8 паҳнои пешфарзро таъмин мекунад

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: Услуби хат, интихоб кунед, ки хатҳо дар он пайвастанд ё не

хати рост ё хати нуқта.

typedef enum {

LINE_STYLE_SOLID = 0,

LINE_STYLE_DOTTED,

} LINE_STYLE;

Росткунҷа кашед: Дар кэши тасвир аз (Xstart, Ystart) то (Xend, Yend) росткунҷае кашед, шумо метавонед ранг, паҳнои хат ва пур кардани дохили росткунҷаро интихоб кунед.

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

d, UWORD ранги, DOT_PIXEL паҳнои хат, DRAW_FILL кашидан_пур кардан)

Параметрҳо:

Xstart: координати X-и нуқтаи ибтидоии росткунҷа

Ystart: координатаи Y нуқтаи ибтидоии росткунҷа

Xend: X координати нуқтаи ниҳоии росткунҷа

Yend: координати Y нуқтаи ниҳоии росткунҷа

Ранг: Ранги пуршуда

Line_width: Паҳнои чор тарафи росткунҷа, providin

g 8 паҳнои пешфарз

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: пур кардан, пур кардани дохили росткунҷа

typedef enum {

DRAW_FILL_EMPTY = 0,

ПУРДАН_ПУР,

} DRAW_FILL;

Доира кашед: Дар кэши тасвир бо (X_Center Y_Center) ҳамчун марказ, доираеро бо Радиус кашед, шумо метавонед ранг, паҳнои хат ва пур кардани дохили доираро интихоб кунед.

void Paint_DrawCircle(UWORD X_Center, UWORD Y_Center, UWORD радиус, UWORD

Ранг, DOT_PIXEL Бари хат, DRAW_FILL Draw_Fil)

Параметрҳо:

X_Center: X координатаи маркази доира

Y_Center: Y координатаи маркази доира

Радиус: Радиуси доира

Ранг: ранги пур

Line_width: Паҳнои камон, ки 8 паҳнои пешфарзро таъмин мекунад

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: пур кардан, пур кардани дохили доира

typedef enum {

DRAW_FILL_EMPTY = 0,

ПУРДАН_ПУР,

} DRAW_FILL;

Аломатҳои Ascii-ро нависед: дар буфери тасвир аломати Ascii-ро дар (Xstart Ystart) ҳамчун қуллаи чап нависед, шумо метавонед китобхонаи ҳарфҳои визуалии рамзҳои Ascii, ранги пеши ҳарф, ранги заминаи шрифтро интихоб кунед.
void Paint_DrawChar(UWORD Xstart, UWORD Ystart, const char Ascii_Char, sFO NT* Font, UWORD Color_Foreground, UWORD Color_background) Параметрҳо:
Xstart: Координатаи X-и қуллаи чапи аломат Ystart: Координатаи Y қуллаи чапи аломат Ascii_Char: Ascii characters Шрифт: Китобхонаи ҳуруфи визуалии аломатҳои Ascii рамзи шрифтҳои зеринро дар ҷузвдони Fonts таъмин мекунад:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: ранги шрифт Ранги_Замин: ранги замина
Сатрҳои аломатҳои англисиро нависед: дар кеши тасвир, дар (Xstart Ystart) ҳамчун қуллаи чап, сатри аломатҳои англисиро нависед, шумо метавонед китобхонаи ҳуруфи визуалии аломатҳои Ascii, ранги ҳуруфи пешина, ранги заминаро интихоб кунед;
void Paint_DrawString_EN(UWORD Xstart, UWORD Ystart, const char * pString, sFONT* Font, UWORD Color_Foreground, UWORD Color_Background) Параметрҳо:
Xstart: Координати X-и қуллаи чапи аломат Ystart: Координатаи Y қуллаи чапи шрифти pStringstring, сатр нишондиҳанда аст Шрифт: Китобхонаи ҳуруфи визуалии аломатҳои Ascii шрифтҳои зеринро дар ҷузвдони Fonts таъмин мекунад:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: ранги шрифт Ранги_Замин: ранги замина
Сатрҳои аломатҳои чиниро нависед: дар кеши тасвир, дар (Xstart Ystart) ҳамчун қуллаи чап, сатри аломатҳои чиниро нависед, шумо метавонед GB2312 шрифти рамзи рамзӣ, ранги пеши ҳарф, ранги заминаи ҳуруфро интихоб кунед;
void Paint_DrawString_CN(UWORD Xstart, UWORD Ystart, const char * pString, cFONT* шрифт, UWORD Color_Foreground, UWORD Color_background) Параметрҳо:
Xstart: Координати X-и қуллаи чапи аломат Ystart: Координатаи Y қуллаи чапи аломат pStringstring, сатр нишондиҳанда аст Шрифт: Китобхонаи ҳуруфи аломатҳои бо GB2312-рамзшуда шрифтҳои зеринро дар ҷузвдони Fonts таъмин мекунад:
font12CNascii шрифт 11*21, шрифти чинӣ 16*21 font24CNascii шрифт 24*41, шрифти чинӣ 32*41 Ранги_Пеш: ранги ҳуруф Ранги_Замин: ранги замина
Рақамҳоро нависед: Дар кеши тасвир, як сатри рақамҳоро дар (Xstart Ystart) ҳамчун қуллаи чап нависед, шумо метавонед китобхонаи ҳуруфи визуалии аломатҳои визуалии рамзи Ascii, ранги пеши ҳуруф, ранги заминаи ҳуруфро интихоб кунед.
void Paint_DrawNum(UWORD Xpoint, UWORD Ypoint, int32_t Number, sFONT* Fon t, UWORD Color_Foreground, UWORD Color_background) Параметрҳо:
Xstart: Координати X-и қуллаи чапи аломат Ystart: Координатаи Y қуллаи чапи аломат Рақам: Рақами дар ин ҷо нишондодашуда дар намуди 32-бити int t нигоҳ дошта мешавад, ки онро то 2147483647 нишон додан мумкин аст. : Китобхонаи ҳуруфи аломатҳои визуалии рамзи Ascii шрифтҳои зеринро дар ҷузвдони Fonts таъмин мекунад:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: ранги шрифт Ранги_Замин: ранги замина
Рақамҳоро бо даҳҳо нависед: дар кеши тасвир, (Xstart Ystart) қуллаи чап аст, як сатри ададҳоро нависед, ки рақамҳои даҳӣ дошта бошанд, шумо метавонед китобхонаи ҳуруфи визуалии аломатҳои Ascii, ранги пеши ҳуруф, ранги заминаи ҳуруфро интихоб кунед.
void Paint_DrawFloatNum(UWORD Xpoint, UWORD Ypoint, рақами дукарата, UBYTE Даҳӣ_нуқта, sFONT* Шрифт, UWORD Color_Foreground, UWORD Color_Backg даври); Параметрҳо:
Xstart: Координати X-и қуллаи чапи аломат Ystart: Координатаи Y қуллаи чапи аломат Рақам: Рақаме, ки дар ин ҷо нишон дода шудааст, бо навъи дукарата нигоҳ дошта мешавад, ки барои эҳтиёҷоти умумӣ кофӣ аст Decimal_Point: Шумораи рақамҳоро пас аз Шрифт: Китобхонаи ҳуруфи аломатҳои визуалии рамзи Ascii шрифтҳои зеринро дар ҷузвдони Шрифтҳо таъмин мекунад:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: ранги шрифт Ранги_Замин: ранги замина
Вақти намоиш: Дар кэши тасвир, (Xstart Ystart) қуллаи чап аст ва он барои як муддати вақт намоиш дода мешавад ва шумо метавонед китобхонаи ҳуруфи визуалии аломатҳои Ascii, ранги пеши ҳарф ва ранги заминаро интихоб кунед;
void Paint_DrawTime(UWORD Xstart, UWORD Ystart, PAINT_TIME *pTime, sFONT* Шрифт, UWORD Color_Background, UWORD Color_Foreground) Параметрҳо:
Xstart: Координатаи X-и қуллаи чапи аломат Ystart: Координатаи Y қуллаи чапи аломати pTimeНамоиши вақт, сохтори вақт дар ин ҷо муайян карда мешавад, ба шарте ки рақамҳои соатҳо, дақиқаҳо ва сонияҳо ба параметрҳо; Шрифт: Китобхонаи ҳуруфи аломатҳои визуалии рамзи Ascii шрифтҳои зеринро дар ҷузвдони Fonts таъмин мекунад:
font85*8 font font127*12 font font1611*16 font font2014*20 font font2417*24 font Color_Foreground: ранги шрифт Ранги_Замин: ранги замина
Намоиши тасвирҳо: вақте ки (Xstart Ystart) қуллаи чап аст, тасвирро бо паҳнои W_Image ва баландии H_Image намоиш диҳед.
void Paint_DrawImage(const unsigned char *image, UWORD xStart, UWORD yStar t, UWORD W_Image, UWORD H_Image) Параметрҳо:
тасвир: суроғаи тасвир, ишора ба маълумоти тасвир шумо мехоҳед, ки ба намоиш фидо
Xstart: Координати X-и қуллаи чапи аломат Ystart: Координати Y қуллаи чапи шрифт W_Image: паҳнои тасвир H_Image: баландии тасвир
Сарчашма
Ҳуҷҷат
Диаграммаи схематикӣ
Расми 3D
1.9inch LCD Модули 3D Расмӣ
Модули 1.9дюймаи LCD 3D пешview file
Намоиш
Модули LCD code.zip
Нармафзор
Zimo221.7z
Image2Lcd2.9.zip
Турториали истихроҷи тасвир
Саволҳои зиёд такрормешуда
Савол:Истеъмоли максималии қувваи LCD-и 1.9-дюйма чанд аст
Модул?
Ҷавоб: 3.3V 40mA

Савол: Равшании максималии модули LCD 1.9 дюйм чанд аст? Ҷавоб:
3.3В 380кд/
Дастгирӣ
Агар шумо ба дастгирии техникӣ ниёз доред, лутфан ба саҳифа равед ва чипта кушоед.

Ҳуҷҷатҳо / Сарчашмаҳо

WAVESHARE 1.9inch LCD Мини Намоиши Модули [pdf] Дастури корбар
Модули дисплейи 1.9 дюймаи LCD, 1.9 дюйм, модули дисплейи LCD, модули дисплейи хурд, модули дисплей

Иқтибосҳо

Назари худро гузоред

Суроғаи почтаи электронии шумо нашр намешавад. Майдонҳои зарурӣ қайд карда шудаанд *