——DWIN-kehittäjäfoorumista
Tässä numerossa esittelemme DWIN Developer Forumin palkitun avoimen lähdekoodin tapauksen – Interval Gesture Recognition Test System. Insinöörit käyttävät 7 tuuman COF-älynäyttöä vuorovaikutuksessa PAJ7620U2-eletunnistusanturin kanssa T5L-käyttöjärjestelmän ytimen kautta. Mitään painikkeita ei tarvitse käyttää. Sinun tarvitsee vain laittaa kätesi lähelle anturia päästäksesi valikkojärjestelmän ohjausnäyttöön ja toteuttaa 9 eletehostetta: ylös, alas, vasemmalle, oikealle, lähellä, kauas, vasemmalle, oikealle ja aalto.
1.UIMmateriaaliaDon näytelmässä
![asd (2)](https://ecdn6.globalso.com/upload/p/1355/source/2024-06/665f07846d9de96799.png)
![asd (1)](https://ecdn6.globalso.com/upload/p/1355/source/2024-06/665f07860ad7d49985.png)
2.C51 Tekninen suunnittelu
T5L OS -ydin on vuorovaikutuksessa PAJ7620U2-eletunnistusanturin kanssa tietojen vuorovaikutusta varten, havaitsee nykyisen eleen, määrittää parhaillaan näytettävän kuvan ja näytettävän kuvan sivua kääntämällä ja toteuttaa sivun vaihtamisen eleillä. Viitekoodi on seuraava:
void select_operate(uint16_t gesrure_value)
{
if(gesrure_value == GES_UP) //ylös
{
if(valitse_arvo >= 2)
{
valitse_arvo -= 2;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[valinnan_arvo][0], select_pos[valitse_arvo][1]);
}
else if(gesrure_value == GES_DOWN) //alas
{
if(valitse_arvo
{
valitse_arvo += 2;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[valinnan_arvo][0], select_pos[valitse_arvo][1]);
}
else if(gesrure_value == GES_LEFT) //left
{
if(valitse_arvo % 2 == 1)
{
valitse_arvo -= 1;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[valinnan_arvo][0], select_pos[valitse_arvo][1]);
}
else if(gesrure_value == GES_RIGHT) //oikea
{
if(valitse_arvo % 2 == 0)
{
valitse_arvo += 1;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[valinnan_arvo][0], select_pos[valitse_arvo][1]);
}
}
void turning_operate(uint16_t gesrure_value)
{
uint16_t i = 0;
uint8_t turning_mode = 0; //Sivun kääntötila, 0 ylös, 1 alas, 2 vasemmalle, 3 oikealle
uint16_t turning_count = 0; //Viimeinen sivukierrosten lukumäärä
if(gesrure_value == GES_UP || gesrure_value == GES_DOWN || gesrure_value == GES_LEFT || gesrure_value == GES_RIGHT)
{
if(gesrure_value == GES_UP) //ylös
{
kääntötila = 0;
kääntömäärä = 48;
}
else if(gesrure_value == GES_DOWN) //alas
{
kääntötila = 1;
kääntömäärä = 48;
}
else if(gesrure_value == GES_LEFT) //left
{
kääntötila = 2;
kääntömäärä = 80;
}
else if(gesrure_value == GES_RIGHT) //oikea
{
kääntötila = 3;
kääntömäärä = 80;
}
if(kääntyvä_nykyinen_kuva == 0 || kääntyvä_nykyinen_kuva == 2)
{
turning_current_image = 1;
}
muu
{
turning_current_image = 2;
}
for(i = 0;i
{
kytkin (käännöstila)
{
tapaus 0:
dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 0, 480 - i * 10);
t5l0_sys_delay_ms(20);
if(käännetään_viimeinen_kuva != 0)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0, 0 - i * 10);
}
tauko;
tapaus 1:
dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 0, -480 + i * 10);
t5l0_sys_delay_ms(20);
if(käännetään_viimeinen_kuva != 0)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0, 0 + i * 10);
}
tauko;
tapaus 2:
dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 800 - i * 10, 0);
t5l0_sys_delay_ms(20);
if(käännetään_viimeinen_kuva != 0)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0 - i * 10, 0);
}
tauko;
tapaus 3:
dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, -800 + i * 10, 0);
t5l0_sys_delay_ms(20);
if(käännetään_viimeinen_kuva != 0)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0 + i * 10, 0);
}
tauko;
}
t5l0_sys_delay_ms(20);
}
käännös_viimeinen_kuva = kääntyvä_nykyinen_kuva;
}
}
Postitusaika: 21.3.2024