——DWIN хөгжүүлэгчдийн форумаас
Энэ дугаарт бид DWIN хөгжүүлэгч форумын шагналт нээлттэй эхийн кейс – интервал дохиолол таних тестийн системийг танилцуулах болно. Инженерүүд T5L үйлдлийн системийн цөмөөр дамжуулан PAJ7620U2 дохио зангаа таних мэдрэгчтэй харилцахын тулд 7 инчийн COF ухаалаг дэлгэц ашигладаг. Ямар ч товчлуур ашиглах шаардлагагүй. Та цэсний системийн удирдлагын дэлгэц рүү орохын тулд гараа мэдрэгч рүү ойртуулахад л хангалттай бөгөөд дээш, доош, зүүн, баруун, ойр, хол, зүүн, баруун тийш эргүүлэх, долгион гэх мэт 9 дохионы эффектийг мэдрэх хэрэгтэй.
1.UIМматериалДүзүүлбэр
![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.С51 Инженерийн зураг төсөл
T5L үйлдлийн системийн цөм нь PAJ7620U2 дохио зангаа таних мэдрэгчтэй өгөгдөл харилцан үйлчлэлцэж, одоогийн дохио зангааг илрүүлж, хуудсыг эргүүлснээр одоо гарч буй зураг болон гарч буй зургийг тодорхойлж, дохио зангаа ашиглан хуудас солих функцийг хэрэгжүүлдэг. Лавлах код нь дараах байдалтай байна.
хүчингүй болгох сонгох_ажиллах(uint16_t gesrure_value)
{
if(gesrure_value == GES_UP) // дээш
{
хэрэв (сонгосон_утга >= 2)
{
сонгох_утга -= 2;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pod[select_value][0], select_pod[select_value][1]);
}
else if(gesrure_value == GES_DOWN) //доош
{
хэрэв(сонгосон_утга
{
сонгох_утга += 2;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pod[select_value][0], select_pod[select_value][1]);
}
else if(gesrure_value == GES_LEFT) //зүүн
{
хэрэв(сонгосон_утга % 2 == 1)
{
сонгох_утга -= 1;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pod[select_value][0], select_pod[select_value][1]);
}
else if(gesrure_value == GES_RIGHT) //баруун
{
хэрэв(сонгосон_утга % 2 == 0)
{
сонгох_утга += 1;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pod[select_value][0], select_pod[select_value][1]);
}
}
хүчингүй эргүүлэх_ашиглах(uint16_t gesrure_value)
{
uint16_t i = 0;
uint8_t turning_mode = 0; //Хуудсыг эргүүлэх горим, 0 дээш, 1 доош, 2 зүүн, 3 баруун
uint16_t эргэлтийн_тоо = 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;
}
for(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);
}
сүүлчийн_зургийг эргүүлэх = одоогийн_дүрсийг эргүүлэх;
}
}
Шуудангийн цаг: 2024 оны 3-р сарын 21-ний хооронд