[Ашық бастапқы код] Интервалдық қимылды тану сынақ жүйесі

——DWIN әзірлеушілер форумынан

Бұл шығарылымда біз DWIN әзірлеушілер форумының жүлделі ашық бастапқы коды – интервалдық қимылдарды тану сынақ жүйесімен таныстырамыз. Инженерлер T5L ОЖ өзегі арқылы PAJ7620U2 қимылды тану сенсорымен әрекеттесу үшін 7 дюймдік COF смарт экранын пайдаланады. Ешқандай түймелерді пайдаланудың қажеті жоқ. Мәзір жүйесінің басқару экранына кіру үшін қолыңызды сенсорға жақындатып, жоғары, төмен, солға, оңға, жақын, алыс, солға айналдыру, оңға бұру және толқынның 9 қимыл әсерін жүзеге асыру қажет.

1.UIМматериалDойнату

asd (2)
asd (1)

2.C51 Инженерлік дизайн

T5L ОЖ өзегі деректердің өзара әрекеттесуі үшін PAJ7620U2 қимылды тану сенсорымен өзара әрекеттеседі, ағымдағы қимылды анықтайды, ағымдағы көрсетілген суретті және бетті айналдыру арқылы көрсетілетін суретті анықтайды және қимылдар арқылы беттерді ауыстыру функциясын жүзеге асырады. Анықтама коды келесідей:

void select_operate(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //жоғары

{

егер(таңдау_мәні >= 2)

{

таңдау_мәні -= 2;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, таңдау_посын[таңдау_мәні][0], позицияны таңдау[таңдау_мәні][1]);

}

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

{

егер(таңдау_мәні

{

таңдау_мәні += 2;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, таңдау_посын[таңдау_мәні][0], позицияны таңдау[таңдау_мәні][1]);

}

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

{

егер(таңдау_мәні % 2 == 1)

{

таңдау_мәні -= 1;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, таңдау_посын[таңдау_мәні][0], позицияны таңдау[таңдау_мәні][1]);

}

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

{

егер(таңдау_мәні % 2 == 0)

{

таңдау_мәні += 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 turning_count = 0; //Беттерді айналдырудың соңғы саны

егер(gesrure_value == GES_UP || gesrure_value == GES_DOWN || gesrure_value == GES_LEFT || gesrure_value == GES_RIGHT)

{

if(gesrure_value == GES_UP) //жоғары

{

айналу_режимі = 0;

айналу_саны = 48;

}

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

{

айналу_режимі = 1;

айналу_саны = 48;

}

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

{

айналу_режимі = 2;

айналу_саны = 80;

}

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

{

айналу_режимі = 3;

айналу_саны = 80;

}

егер(айналған_ағымдық_кескін == 0 || бұрылатын_ағымдық_кескін == 2)

{

айналдыру_ағымдық_сурет = 1;

}

басқа

{

айналдыру_ағымдық_сурет = 2;

}

үшін(i = 0;i

{

ауысу(бұрылу_режимі)

{

жағдай 0:

dgus_show_variate_icon_location_set(айналатын_ағымдық_кескін * 0x100 + 0x2000, 0, 480 - i * 10);

t5l0_sys_delay_ms(20);

егер(соңғы_суретті айналдыру != 0)

{

dgus_show_variate_icon_location_set(соңғы_суретті айналдыру * 0x100 + 0x2000, 0, 0 - i * 10);

}

үзіліс;

1 жағдай:

dgus_show_variate_icon_location_set(айналатын_ағымдық_кескін * 0x100 + 0x2000, 0, -480 + i * 10);

t5l0_sys_delay_ms(20);

егер(соңғы_суретті айналдыру != 0)

{

dgus_show_variate_icon_location_set(соңғы_суретті айналдыру * 0x100 + 0x2000, 0, 0 + i * 10);

}

үзіліс;

2-жағдай:

dgus_show_variate_icon_location_set(айналу_ағымдағы_сурет * 0x100 + 0x2000, 800 - i * 10, 0);

t5l0_sys_delay_ms(20);

егер(соңғы_суретті айналдыру != 0)

{

dgus_show_variate_icon_location_set(соңғы_суретті айналдыру * 0x100 + 0x2000, 0 - i * 10, 0);

}

үзіліс;

3-жағдай:

dgus_show_variate_icon_location_set(айналатын_ағымдық_кескін * 0x100 + 0x2000, -800 + i * 10, 0);

t5l0_sys_delay_ms(20);

егер(соңғы_суретті айналдыру != 0)

{

dgus_show_variate_icon_location_set(соңғы_суретті айналдыру * 0x100 + 0x2000, 0 + i * 10, 0);

}

үзіліс;

}

t5l0_sys_delay_ms(20);

}

соңғы_суретті айналдыру = ағымдағы_суретті айналдыру;

}

}


Хабарлама уақыты: 21 наурыз 2024 ж