——Sa DWIN Developer Foruma
Nagrađivana kutija otvorenog koda koju preporučuje DWIN forum može se koristiti u građevinskoj industriji za detekciju sadržaja cementnih komponenti - mjerni instrument za više količine cementa baziran na T5L pametnom ekranu.Inženjeri koriste pametni ekran T5L za kontrolu elektronskog modula za detekciju težine, modula za mjerenje temperature, modula grijanja, senzora vlage i modula za miješanje kako bi ostvarili funkciju detekcije sadržaja čvrste otopine i tekućeg cementa, te podržavaju prikaz brzine u stvarnom vremenu, podešavanje temperature, zapis istorije, podešavanje parametara faze i druge funkcije.
1. Struktura programa
2. Prikaz materijala UI
3. Primjer razvoja korisničkog sučelja
4.C51 dizajn softvera
Program za inicijalizaciju naredbe za inženjera da komunicira sa kontrolnom pločom koristeći T5L serijski port 2 je sljedeći:
void app_init()
{
is_testing = 0;
test_run_time = 0;
is_sec = 0;
period1 = 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);
}
Glavni program T5L inteligentnog ekrana koji stupa u interakciju s kontrolnom pločom za realizaciju funkcije detekcije cementnog sastava je sljedeći:
void btn_click_handler()
{
#define BTN_VAL_ADDR 0x1000
u16 btn_val;
if(is_testiranje&&is_sec)
{
is_sec = 0;
test_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 = *(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 += (speed_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;
}
}
if(je_period1)
{
is_period1 = 0;
t_sample();
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: Dec-02-2023