——S DWIN Developer Foruma
Nagrađivani slučaj otvorenog koda koji preporučuje forum DWIN može se koristiti u građevinskoj industriji za otkrivanje sadržaja cementnih komponenti - mjerni instrument za više količina cementa temeljen na T5L pametnom ekranu.Inženjeri koriste T5L pametni zaslon za kontrolu elektroničkog modula za detekciju težine, modula za mjerenje temperature, modula za grijanje, senzora vlage i modula za miješanje kako bi ostvarili funkciju detekcije sadržaja čvrste otopine i tekuće cementne komponente, te podržali prikaz brzine u stvarnom vremenu, postavka temperature, zapis povijesti, postavka parametara pozornice i druge funkcije.
1. Struktura programa
2.Prikaz materijala korisničkog sučelja
3. Primjer razvoja korisničkog sučelja
4.C51 dizajn softvera
Program naredbe za inicijalizaciju za inženjera za komunikaciju s upravljačkom pločom pomoću T5L serijskog priključka 2 je sljedeći:
poništi app_init()
{
je_testiranje = 0;
vrijeme_izvođenja testa = 0;
je_sek = 0;
period1 = 0;
je_razdoblje1 = 0;
uart2_init(115200);
send_bytes("AT+INIT=0\r\n",sizeof("AT+INIT=0\r\n")-1);
sys_odgoda_ms(2500);
sys_pic(1);
send_bytes("AT+START\r\n",sizeof("AT+START\r\n")-1);
}
Glavni program inteligentnog zaslona T5L u interakciji s upravljačkom pločom za realizaciju funkcije detekcije sastava cementa je sljedeći:
void btn_click_handler()
{
#define BTN_VAL_ADDR 0x1000
u16 btn_val;
ako(je_testiranje&&je_sek)
{
je_sek = 0;
test_vrijeme_izvođenja++;
btn_val = sprintf(commbuff,"%02u:%02u",(u16)(vrijeme_testiranja/60),(u16)(vrijeme_testiranja%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)
{
vrijednost_brzine = *(float*)(uart2buf+2);
disp_val += (brzina_val*2,45f);
sys_write_vp(0x1180, (u8*)&disp_val, 2);
}else if(uart2buf[0]==0x04)
{
total_num = uart2buf[1]*256+uart2buf[2];
}else if(uart2buf[0]==0x05)
{
is_en_tmp = uart2buf[2];
}
uart2rxsta = 0;
}
}
ako(je_razdoblje1)
{
je_razdoblje1 = 0;
t_uzorak();
if(is_testiranje&&is_en_tmp)
sys_write_vp(0x1170,(u8*)&tmp,2);
}
if(is_btn_scan==0)
povratak;
is_btn_scan = 0;
sys_read_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);
if(btn_val==0)
povratak;
if(btn_val<=0x10)
start_win_btn_click_handler(btn_val);
btn_val = 0;
sys_write_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);
}
Pogledajte izvorni kod za više.
Vrijeme objave: 2. prosinca 2023