——Soti nan DWIN Developer Forum
Ka sous louvri ki genyen prim ki rekòmande pa fowòm DWIN la ka itilize nan endistri konstriksyon pou detekte kontni eleman siman - yon enstriman mezi siman milti-kantite ki baze sou ekran entelijan T5L. Enjenyè yo sèvi ak ekran entelijan T5L pou kontwole modil deteksyon pwa elektwonik, modil mezi tanperati, modil chofaj, Capteur imidite, ak modil melanje pou reyalize fonksyon deteksyon solisyon solid ak kontni likid siman, epi sipòte ekspozisyon an tan reyèl nan pousantaj, anviwònman tanperati, dosye istwa, anviwònman paramèt Etap ak lòt fonksyon.
1. Estrikti Pwogram
![acdsb (1)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bb534d9587236.jpg)
2.UI Display Materyèl
![acdsb (2)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bb6b626488123.jpg)
![acdsb (4)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bb84270f77694.jpg)
![acdsb (3)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bb975b6581165.jpg)
![acdsb (5)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bbaf20a513069.jpg)
3.UI Egzanp Devlopman
![acdsb (6)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bbc7a0f429134.jpg)
4.C51 konsepsyon lojisyèl
Pwogram inisyalizasyon kòmand pou enjenyè a pou kominike ak tablo kontwòl lè l sèvi avèk pò seri T5L 2 a se jan sa a:
void app_init()
{
is_testing = 0;
tès_run_time = 0;
is_sec = 0;
peryòd1 = 0;
is_period1 = 0;
uart2_init(115200);
send_bytes ("AT+INIT=0\r\n",sizeof("AT+INIT=0\r\n")-1);
sys_delay_ms(2500);
sys_pic(1);
send_bytes("AT+START\r\n",sizeof("AT+START\r\n")-1);
}
Pwogram prensipal la nan ekran an entèlijan T5L kominike avèk tablo kontwòl la reyalize fonksyon an nan deteksyon konpozisyon siman se jan sa a:
anile btn_click_handler()
{
#defini BTN_VAL_ADDR 0x1000
u16 btn_val;
if(ap_teste&&se_sec)
{
is_sec = 0;
tès_run_time++;
btn_val = sprintf(commbuff,"%02u:%02u",(u16)(test_run_time/60),(u16)(test_run_time%60));
commbuff[btn_val+1] = 0;
sys_write_vp(TEST_TIME_VP,commbuff,5);
if(uart2rxsta&UART2_PACKET_OK)
{
if(uart2buf[0]==0x01&&uart2buf[1]==0x02)
{
init_weight = *(flote*)(uart2buf+2);
init_weight *= (*(flote*)flashdat);
sys_write_vp(0x1178, (u8*)&init_weight, 2);
}lòt si(uart2buf[0]==0x02&&uart2buf[1]==0x05)
{
init_ml = *(flote*)(uart2buf+2);
init_ml /= (*(flote*)flashdat+20);
sys_write_vp(0x1180, (u8*)&init_ml, 2);
}lòt si(uart2buf[0]==0x03&&uart2buf[1]==0x07)
{
speed_val = *(flote*)(uart2buf+2);
disp_val += (speed_val*2.45f);
sys_write_vp(0x1180, (u8*)&disp_val, 2);
}lòt si(uart2buf[0]==0x04)
{
total_num = uart2buf[1]*256+uart2buf[2];
}lòt si (uart2buf[0]==0x05)
{
is_en_tmp = uart2buf[2];
}
uart2rxsta = 0;
}
}
si(se_period1)
{
is_period1 = 0;
t_echantiyon();
if(ap_teste&&is_en_tmp)
sys_write_vp(0x1170,(u8*)&tmp,2);
}
if(is_btn_scan==0)
retounen;
is_btn_scan = 0;
sys_read_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);
if(btn_val==0)
retounen;
if(btn_val
start_win_btn_click_handler(btn_val);
btn_val = 0;
sys_write_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);
}
Gade kòd sous la pou plis.
Lè poste: Dec-02-2023