——Од форумот за програмери на DWIN
Во ова издание, ќе го претставиме наградуваниот случај со отворен код на Форумот за програмери на DWIN – Систем за тестирање со препознавање на интервали. Инженерите користат паметен екран COF од 7 инчи за да комуницираат со сензорот за препознавање гестови PAJ7620U2 преку јадрото на T5L OS. Нема потреба да користите никакви копчиња. Потребно е само да ја ставите раката блиску до сензорот за да влезете во контролниот екран на системот на менито и да сфатите 9 гестови нагоре, надолу, лево, десно, блиску, далеку, ротација налево, десно ротирање и бранување.
1.УИМматеријалДе игра
![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 Инженерски дизајн
Јадрото на T5L OS е во интеракција со сензорот за препознавање гестови PAJ7620U2 за интеракција со податоци, го детектира тековниот гест, ја одредува моментално прикажаната слика и прикажаната слика со вртење на страницата и ја реализира функцијата на менување страници со помош на гестови. Референтниот код е како што следува:
void select_operate(uint16_t gesrure_value)
{
if(gesrure_value == GES_UP) //нагоре
{
if(select_value >= 2)
{
изберете_вредност -= 2;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);
}
друго ако(gesrure_value == GES_DOWN) //долу
{
ако (избери_вредност
{
изберете_вредност += 2;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);
}
друго ако(gesrure_value == GES_LEFT) //лево
{
ако (избери_вредност % 2 == 1)
{
изберете_вредност -= 1;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);
}
друго ако(gesrure_value == GES_RIGHT) //десно
{
ако (избери_вредност % 2 == 0)
{
изберете_вредност += 1;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);
}
}
void turning_operate(uint16_t gesrure_value)
{
uint16_t i = 0;
uint8_t режим на вртење = 0; //Режим на вртење страници, 0 нагоре, 1 надолу, 2 лево, 3 десно
uint16_t turning_count = 0; //Последен број на вртења на страници
if(gesrure_value == GES_UP || gesrure_value == GES_DOWN || gesrure_value == GES_LEFT || gesrure_value == GES_RIGHT)
{
if(gesrure_value == GES_UP) //нагоре
{
режим на вртење = 0;
вртење_број = 48;
}
друго ако(gesrure_value == GES_DOWN) //долу
{
режим на вртење = 1;
вртење_број = 48;
}
друго ако(gesrure_value == GES_LEFT) //лево
{
режим на вртење = 2;
вртење_број = 80;
}
друго ако(gesrure_value == GES_RIGHT) //десно
{
режим на вртење = 3;
вртење_број = 80;
}
ако (свртна_тековна_слика == 0 || свртена_тековна_слика == 2)
{
пресвртна_тековна_слика = 1;
}
друго
{
пресвртна_тековна_слика = 2;
}
for(i = 0;i
{
прекинувач (вртење_режим)
{
случај 0:
dgus_show_variate_icon_location_set (turning_current_image * 0x100 + 0x2000, 0, 480 - i * 10);
t5l0_sys_delay_ms(20);
ако (вртење_последна_слика != 0)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0, 0 - i * 10);
}
пауза;
случај 1:
dgus_show_variate_icon_location_set (turning_current_image * 0x100 + 0x2000, 0, -480 + i * 10);
t5l0_sys_delay_ms(20);
ако (вртење_последна_слика != 0)
{
dgus_show_variate_icon_location_set (turning_last_image * 0x100 + 0x2000, 0, 0 + i * 10);
}
пауза;
случај 2:
dgus_show_variate_icon_location_set (turning_current_image * 0x100 + 0x2000, 800 - i * 10, 0);
t5l0_sys_delay_ms(20);
ако (вртење_последна_слика != 0)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0 - i * 10, 0);
}
пауза;
случај 3:
dgus_show_variate_icon_location_set (turning_current_image * 0x100 + 0x2000, -800 + i * 10, 0);
t5l0_sys_delay_ms(20);
ако (вртење_последна_слика != 0)
{
dgus_show_variate_icon_location_set (turning_last_image * 0x100 + 0x2000, 0 + i * 10, 0);
}
пауза;
}
t5l0_sys_delay_ms(20);
}
вртење_последна_слика = свртена_тековна_слика;
}
}
Време на објавување: Мар-21-2024