[Ачык булак] Интервалдык жаңсоо таануу сыноо системасы

——DWIN иштеп чыгуучулар форумунан

Бул чыгарылышта биз DWIN Иштеп чыгуучу форумунун сыйлыкка ээ болгон ачык булактуу кейси менен тааныштырабыз – интервалдык жаңсоолорду таануу тест системасы. Инженерлер T5L OS өзөгү аркылуу PAJ7620U2 жаңсоо таануу сенсору менен иштешүү үчүн 7 дюймдук COF акылдуу экранын колдонушат. Эч кандай баскычтарды колдонуунун кереги жок. Меню тутумунун башкаруу экранына кирүү үчүн колуңузду сенсорго жакын коюп, өйдө, ылдый, солго, оңго, жакын, алыс, солго айлануу, оңго айлануу жана толкундун 9 жаңсоо эффекттерин ишке ашыруу керек.

1.UIМматериалДisplay

asd (2)
asd (1)

2.C51 Инженердик долбоорлоо

T5L OS өзөгү PAJ7620U2 жаңсоо таануу сенсору менен маалыматтардын өз ара аракеттенүүсү үчүн өз ара аракеттенет, учурдагы жаңсоону аныктайт, учурда көрсөтүлүп жаткан сүрөттү жана баракты айлантуу менен көрсөтүлгөн сүрөттү аныктайт жана жаңсоолорду колдонуу менен баракты алмаштыруу функциясын ишке ашырат. Шилтеме коду төмөнкүдөй:

void select_operate(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //жогору

{

if(select_value >= 2)

{

select_value -= 2;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, тандоо_позо[[таңдоо_маани][0], тандоо_поз [тандоо_маани][1]);

}

else if(gesrure_value == GES_DOWN) //төмөн

{

if(select_value

{

select_value += 2;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, тандоо_позо[[таңдоо_маани][0], тандоо_поз [тандоо_маани][1]);

}

else if(gesrure_value == GES_LEFT) //сол

{

if(select_value % 2 == 1)

{

select_value -= 1;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, тандоо_позо[[таңдоо_маани][0], тандоо_поз [тандоо_маани][1]);

}

else if(gesrure_value == GES_RIGHT) //оң

{

if(select_value % 2 == 0)

{

select_value += 1;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, тандоо_позо[[таңдоо_маани][0], тандоо_поз [тандоо_маани][1]);

}

}

 

void turning_operate(uint16_t gesrure_value)

{

uint16_t i = 0;

uint8_t turnning_mode = 0; //Баракты айлантуу режими, 0 өйдө, 1 ылдый, 2 сол, 3 оң

uint16_t turnning_count = 0; //Барактын айланууларынын акыркы саны

if(gesrure_value == GES_UP || gesrure_value == GES_DOWN || gesrure_value == GES_LEFT || gesrure_value == GES_RIGHT)

{

if(gesrure_value == GES_UP) //жогору

{

turning_mode = 0;

turning_count = 48;

}

else if(gesrure_value == GES_DOWN) //төмөн

{

turning_mode = 1;

turning_count = 48;

}

else if(gesrure_value == GES_LEFT) //сол

{

turnning_mode = 2;

turning_count = 80;

}

else if(gesrure_value == GES_RIGHT) //оң

{

turning_mode = 3;

turning_count = 80;

}

эгерде(бурулуп жаткан_учурдагы_сүрөт == 0 || бурулуп жаткан_учурдагы_сүрөт == 2)

{

turning_current_image = 1;

}

башка

{

turnning_current_image = 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(tuning_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