—— Kuva kuri Forum ya DWIN Iterambere
Muri iki kibazo, tuzabagezaho ibihembo byatsindiye isoko yatanzwe kuva Ihuriro ryabashinzwe iterambere rya DWIN: Sisitemu yo kugenzura ibiryo byinjangwe.Ba injeniyeri bakoresheje ecran yubwenge ya DWIN kugirango bakurikirane ubushyuhe, ubushuhe, n’ibisigaye by’ibiribwa by’injangwe, no kubika ibyo kurya by’injangwe.Bateguye kandi bidasanzwe uburyo bwo gushushanya wino yo gushushanya UI, kimwe ningaruka yo gukanda wino iyo ikozweho nurutoki, kugirango bongere imyumvire yibitekerezo byo gukoraho.
Iriburiro:
1.UI ibikoresho byamashusho
Mugaragaza ubwenge bwa DWIN irangiza iterambere rya UI ishingiye kumashusho, amajwi nibindi bikoresho bigomba gutegurwa hakiri kare ukurikije ibiyerekana.
2.Iterambere ryimiterere
Porogaramu ya DGUS igarura ingaruka za UI binyuze murwego rwo hejuru, igahuza ibikoresho byateguwe mumashusho yuzuye muri software ya DGUS, ikanashyiraho ibikorwa byo gukora no gukoraho.
3. Shyira mubikorwa gukanda n'ingaruka zamajwi
Umwanya wo gukoraho uboneka binyuze muri porogaramu 51, ingaruka zo gukanda zikurikira kugenda kwintoki, kandi urufunguzo rwoherekeza amajwi narwo rugerwaho.
(1) Menya kode yo gukoraho kandi ukine amajwi:
Ubusa TouchDetect ()
{
u16 Va [3] = 0;
u8 i = 0;
kuri (i = 0; i <3; i ++)
{
Va [i] = Soma_Dgus (0x0016 + i);
niba (Va [0] == 0x5A01)
{
}
ikindi
{
kumena;
}
}
niba (i! = 0) // Banza ukande kugirango winjire
{
u16 gukina [2] = {0x0001, 0x4000};
gukorahoAnimationFlag = 1;
gukorahoAnimationCnt = 0;
gukorahoPosX = Va [1];
gukorahoPosY = Va [2];
andika_dgus_vp (0x00A0, gukina, 2);
}
}
(2) Kode yo gukoraho ingaruka zerekana niyi ikurikira:
Ubusa TouchStart ()
{
niba (gukorahoAnimationFlag == 1)
{
niba (gukorahoAnimationCnt == 0)
{
Andika_Dgus (0x5011, gukorahoPosX - 100);
Andika_Dgus (0x5012, gukorahoPosY - 100);
}
Andika_Dgus (0x5000, gukorahoAnimationCnt);
gukorahoAnimationCnt ++;
niba (gukorahoAnimationCnt == 6)
{
gukorahoAnimationFlag = 0;
Andika_Dgus (0x5011, 1024);
Andika_Dgus (0x5012, 600);
}
}
}
4. Intambwe ikurikiraho ni ugushiraho ibipimo bihuye ukoresheje ecran, hanyuma wohereze amakuru kumugenzuzi wibiryo byinjangwe binyuze muri ESP32 kugirango umenye imikorere yo kugaburira byikora ibiryo byinjangwe.Kode yihariye niyi ikurikira:
// Kubona buto imiterere
Kubona ubusa_key_status ()
{
int i = 0;
// u16 Va = Soma_Dgus (addr);
u16 Va = Soma_Dgus (0x1000);
niba (Va! = 0x0000)
{
//Surupapuro rwa tatus
niba (Va == 0x0103) // Shyira umubare wa g
{
u16 guhinduranya [2] = {0x5A01, 19};
setNum = umwanyaGramNum;
inyumaPage = 1;// Garuka kurupapuro rwimiterere
Andika_Dgus (0x4000 + 0, shirahoNum% 10);
Andika_Dgus (0x4000 + 2, setNum / 10% 10);
Andika_Dgus (0x4000 + 4, setNum / 100% 10);
Andika_Dgus (0x4000 + 6, setNum / 1000% 10);
andika_dgus_vp (0x0084, switchpage, 2);
}
ikindi niba (Va == 0x0102)
{
OneSendData3 (umwanyaGramNum);//Ikibanzaibiryo by'injangwerimwe
}
ikindi niba (Va == 0x0101) // Gushiraho page
{
u16 guhinduranya [2] = {0x5A01, 3};
kuri (i = 0; i <6; i ++)
{
niba (i == 0)
{
Andika_Dgus (0x3070 + i * 0x10 + 0, Igihe cyigihe [i]% 10);
Andika_Dgus (0x3070 + i * 0x10 + 2, Igihe cyigihe [i] / 10% 10);
Andika_Dgus (0x3070 + i * 0x10 + 4, Igihe cyigihe [i] / 100% 10);
Andika_Dgus (0x3070 + i * 0x10 + 6, Igihe cyigihe [i] / 1000% 10);
}
ikindi
{
Andika_Dgus (0x3070 + i * 0x10 + 0, Igihe cyigihe [i]% 10);
Andika_Dgus (0x3070 + i * 0x10 + 2, Igihe cyigihe [i] / 10% 10);
}
}
andika_dgus_vp (0x0084, switchpage, 2);// Injira urupapuro rwimiterere
}
ikindi niba (Va == 0x0100) //Rurupapuro rwa ecord
{
u16 guhinduranya [2] = {0x5A01, 2};
kuri (i = 0; i <6; i ++)
{
niba (i == 0)
{
Andika_Dgus (0x2000 + i * 0x10 + 0, kurya Urutonde [0] [i]% 10);
Andika_Dgus (0x2000 + i * 0x10 + 2, kurya Urutonde [0] [i] / 10% 10);
Andika_Dgus (0x2000 + i * 0x10 + 4, kurya Urutonde [0] [i] / 100% 10);
Andika_Dgus (0x2000 + i * 0x10 + 6, kurya Urutonde [0] [i] / 1000% 10);
}
ikindi
{
Andika_Dgus (0x2000 + i * 0x10 + 0, kurya Urutonde [0] [i]% 10);
Andika_Dgus (0x2000 + i * 0x10 + 2, kurya Urutonde [0] [i] / 10% 10);
}
}
andika_dgus_vp (0x0084, switchpage, 2);// Injira urupapuro rwanditse
}
//Rurupapuro rwa ecord
ikindi niba (Va == 0x0201) // Andika page page ibanza
{
niba (rebaEatCnt> 0)
{
RebaCat--;
kuri (i = 0; i <6; i ++)
{
niba (i == 0)
{
Andika_Dgus (0x2000 + i * 0x10 + 0, urye Urutonde [rebaEatCnt] [i]% 10);
Andika_Dgus (0x2000 + i * 0x10 + 2, kuryaUrutonde [rebaEatCnt] [i] / 10% 10);
Andika_Dgus (0x2000 + i * 0x10 + 4, kurya Urutonde rwihuta [rebaEatCnt] [i] / 100% 10);
Andika_Dgus (0x2000 + i * 0x10 + 6, kuryaUrutonde [rebaEatCnt] [i] / 1000% 10);
}
ikindi
{
Andika_Dgus (0x2000 + i * 0x10 + 0, urye Urutonde [rebaEatCnt] [i]% 10);
Andika_Dgus (0x2000 + i * 0x10 + 2, kuryaUrutonde [rebaEatCnt] [i] / 10% 10);
}
}
}
}
ikindi niba (Va == 0x0202) // Andika urupapuro rukurikira
{
niba (rebaEatCnt <kuryaCnt - 1)
{
RebaEatCnt ++;
kuri (i = 0; i <6; i ++)
{
niba (i == 0)
{
Andika_Dgus (0x2000 + i * 0x10 + 0, urye Urutonde [rebaEatCnt] [i]% 10);
Andika_Dgus (0x2000 + i * 0x10 + 2, kuryaUrutonde [rebaEatCnt] [i] / 10% 10);
Andika_Dgus (0x2000 + i * 0x10 + 4, kurya Urutonde rwihuta [rebaEatCnt] [i] / 100% 10);
Andika_Dgus (0x2000 + i * 0x10 + 6, kuryaUrutonde [rebaEatCnt] [i] / 1000% 10);
}
ikindi
{
Andika_Dgus (0x2000 + i * 0x10 + 0, urye Urutonde [rebaEatCnt] [i]% 10);
Andika_Dgus (0x2000 + i * 0x10 + 2, kuryaUrutonde [rebaEatCnt] [i] / 10% 10);
}
}
}
}
// Gushiraho urupapuro
ikindi niba (Va == 0x0302)
{
niba (igiheMode == 1)
{
igiheMode = 0;
Andika_Dgus (0x3A12, 139);
}
}
ikindi niba (Va == 0x0303)
{
niba (igiheMode == 0)
{
igiheMode = 1;
Andika_Dgus (0x3A12, 242);
}
}
ikindi niba (Va> = 0x0304 && Va <= 0x0309)
{
u16 guhinduranya [2] = {0x5A01, 19};
inyumaPage = 3;
inyumaNum = Va;
setNum = timrIntervalHour [Va - 0x0304];
Andika_Dgus (0x4000 + 0, shirahoNum% 10);
Andika_Dgus (0x4000 + 2, setNum / 10% 10);
Andika_Dgus (0x4000 + 4, setNum / 100% 10);
Andika_Dgus (0x4000 + 6, setNum / 1000% 10);
andika_dgus_vp (0x0084, switchpage, 2);
}
ikindi niba (Va> = 0x030A && Va <= 0x030F)
{
u16 guhinduranya [2] = {0x5A01, 19};
inyumaPage = 3;
inyumaNum = Va;
setNum = Igihe cyigihe [Va - 0x030A];
Andika_Dgus (0x4000 + 0, shirahoNum% 10);
Andika_Dgus (0x4000 + 2, setNum / 10% 10);
Andika_Dgus (0x4000 + 4, setNum / 100% 10);
Andika_Dgus (0x4000 + 6, setNum / 1000% 10);
andika_dgus_vp (0x0084, switchpage, 2);
}
//Aurupapuro rwamakuru
ikindi niba (Va == 0x0400) //Emeza
{
u16 guhinduranya [2] = {0x5A01, 0x0000};
guhinduranya [1] = urupapuro rwinyuma;
niba (inyumaPage == 1) // Garuka kurupapuro rwimiterere
{
umwanyaGramNum = setNum;
Andika_Dgus (0x1140 + 0, umwanyaGramNum% 10);
Andika_Dgus (0x1140 + 2, umwanyaGramNum / 10% 10);
}
ikindi niba (inyumaPage == 3)
{
niba (inyumaNum> = 0x0304 && inyumaNum <= 0x0309)
{
u16 hitamo = 0;
hitamo = (inyumaNum - 0x0304) * 0x10;
timrIntervalHour [backNum - 0x0304] = setNum;
Andika_Dgus (0x3010 + hitamo + 0, shirahoNum% 10);
Andika_Dgus (0x3010 + hitamo + 2, shirahoNum / 10% 10);
}
ikindi niba (inyumaNum> = 0x030A && inyumaNum <= 0x030F)
{
u16 hitamo = 0;
hitamo = (inyumaNum - 0x0304) * 0x10;
Igihe cyubu [inyumaNum - 0x030A] = setNum;
niba (inyumaNum == 0x030A)
{
Andika_Dgus (0x3010 + hitamo + 0, shirahoNum% 10);
Andika_Dgus (0x3010 + hitamo + 2, shirahoNum / 10% 10);
Andika_Dgus (0x3010 + hitamo + 4, shirahoNum / 100% 10);
Andika_Dgus (0x3010 + hitamo + 6, shirahoNum / 1000% 10);
}
ikindi
{
Andika_Dgus (0x3010 + hitamo + 0, shirahoNum% 10);
Andika_Dgus (0x3010 + hitamo + 2, shirahoNum / 10% 10);
}
}
}
andika_dgus_vp (0x0084, switchpage, 2);
}
ikindi niba (Va == 0x0401) //Inyuma
{
u16 guhinduranya [2] = {0x5A01, 0x0000};
guhinduranya [1] = urupapuro rwinyuma;
andika_dgus_vp (0x0084, switchpage, 2);
}
ikindi niba (Va == 0x0402) // Kwiyongera k'umubare
{
setNum ++;
Andika_Dgus (0x4000 + 0, shirahoNum% 10);
Andika_Dgus (0x4000 + 2, setNum / 10% 10);
Andika_Dgus (0x4000 + 4, setNum / 100% 10);
Andika_Dgus (0x4000 + 6, setNum / 1000% 10);
}
ikindi niba (Va == 0x0403) // Kugabanuka k'umubare
{
niba (setNum> 0)
setNum--;
Andika_Dgus (0x4000 + 0, shirahoNum% 10);
Andika_Dgus (0x4000 + 2, setNum / 10% 10);
Andika_Dgus (0x4000 + 4, setNum / 100% 10);
Andika_Dgus (0x4000 + 6, setNum / 1000% 10);
}
Andika_Dgus (0x1000, 0);
}
}
Igihe cyo kohereza: Nzeri-19-2023