[Open Source] Siman Multi-kantite Enstriman Mezire

——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 la, modil mezi tanperati, modil chofaj, Capteur imidite, ak modil melanje pou reyalize fonksyon deteksyon solisyon solid ak kontni likid siman, epi sipòte ekspozisyon pousantaj an tan reyèl, anviwònman tanperati, dosye istwa, anviwònman paramèt Etap ak lòt fonksyon.

1. Estrikti Pwogram

acdsb (1)

2.UI Display Materyèl

acdsb (2)
acdsb (4)
acdsb (3)
acdsb (5)

3.UI Egzanp Devlopman

acdsb (6)

4.C51 konsepsyon lojisyèl

Pwogram kòmand inisyalizasyon pou enjenyè a pou kominike ak tablo kontwòl la lè l sèvi avèk pò seri T5L 2 a se jan sa a:

void app_init()

{

se_tès = 0;

test_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<=0x10)

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