[Iturburu irekia] Zementuzko kantitate anitzeko neurtzeko tresna

——DWIN Garatzaileen Forotik

DWIN foroak gomendatutako kode irekiko kasu saritua eraikuntzaren industrian erabil daiteke zementuzko osagaien edukia detektatzeko - T5L pantaila adimendunean oinarritutako zementuzko kantitate anitzeko neurtzeko tresna.Ingeniariek T5L pantaila adimenduna erabiltzen dute pisua hautemateko modulu elektronikoa, tenperatura neurtzeko modulua, berokuntza modulua, hezetasun sentsorea eta nahasketa modulua kontrolatzeko, soluzio solidoaren eta zementu likidoaren osagaien edukiaren detektatzeko funtzioa eta tasa denbora errealean bistaratzeko. tenperatura ezarpena, historia erregistroa, etapa parametroen ezarpena eta beste funtzio batzuk.

1. Programaren Egitura

acdsb (1)

2.UI Materialaren pantaila

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

3.UI garapenaren adibidea

acdsb (6)

4.C51 softwarearen diseinua

T5L serieko ataka erabiliz ingeniariak kontrol-taularekin komunikatzeko hasierako komando-programa hau da:

void app_init()

{

da_proba = 0;

proba_exekutatu_denbora = 0;

is_sec = 0;

periodo1 = 0;

da_periodo1 = 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+HASI\r\n",sizeof("AT+HASI\r\n")-1);

}

T5L pantaila adimendunaren programa nagusia kontrol-taularekin elkarreragiten duen zementuaren konposizioa detektatzeko funtzioa konturatzeko honakoa da:

void btn_click_handler()

{

#defini BTN_VAL_ADDR 0x1000

u16 btn_val;

if(probatzen ari da&&sec)

{

is_sec = 0;

proba_exekutatu_denbora++;

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 = *(float*)(uart2buf+2);

init_weight *= (*(float*)flashdat);

sys_write_vp(0x1178, (u8*)&init_weight, 2);

}else if(uart2buf[0]==0x02&&uart2buf[1]==0x05)

{

init_ml = *(float*)(uart2buf+2);

init_ml /= (*(float*)flashdat+20);

sys_write_vp(0x1180, (u8*)&init_ml, 2);

}else if(uart2buf[0]==0x03&&uart2buf[1]==0x07)

{

speed_val = *(float*)(uart2buf+2);

disp_val += (abiadura_balioa*2.45f);

sys_write_vp(0x1180, (u8*)&disp_val, 2);

}else if(uart2buf[0]==0x04)

{

guztira_zenbakia = uart2buf[1]*256+uart2buf[2];

}else if(uart2buf[0]==0x05)

{

is_en_tmp = uart2buf[2];

}

uart2rxsta = 0;

}

}

bada (perioda_1)

{

da_periodo1 = 0;

t_lagina();

if(probatzen ari da&&es_en_tmp)

sys_write_vp(0x1170,(u8*)&tmp,2);

}

if(is_btn_scan==0)

itzuli;

is_btn_scan = 0;

sys_read_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);

if(btn_val==0)

itzuli;

if(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

sys_write_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);

}

 

Ikusi iturburu kodea gehiagorako.


Argitalpenaren ordua: 2023-02-23