——Van het DWIN-ontwikkelaarsforum
De bekroonde open source-case die wordt aanbevolen door het DWIN-forum kan in de bouwsector worden gebruikt om de inhoud van cementcomponenten te detecteren - een meetinstrument voor meerdere hoeveelheden cement, gebaseerd op het slimme T5L-scherm.Ingenieurs gebruiken het slimme T5L-scherm om de elektronische gewichtsdetectiemodule, de temperatuurmeetmodule, de verwarmingsmodule, de vochtsensor en de mengmodule te bedienen om de detectiefunctie van de inhoud van vaste oplossingen en vloeibare cementcomponenten te realiseren en om real-time weergave van de snelheid te ondersteunen. temperatuurinstelling, geschiedenisrecord, faseparameterinstelling en andere functies.
1. Programmastructuur
2.UI-materiaalweergave
3. Voorbeeld van UI-ontwikkeling
4.C51 softwareontwerp
Het initialisatiecommandoprogramma waarmee de engineer met de besturingskaart kan communiceren via de T5L seriële poort 2 is als volgt:
ongeldige app_init()
{
is_testen = 0;
test_run_time = 0;
is_sec = 0;
periode1 = 0;
is_periode1 = 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);
}
Het hoofdprogramma van het intelligente T5L-scherm dat communiceert met de besturingskaart om de functie van detectie van cementsamenstelling te realiseren, is als volgt:
void btn_click_handler()
{
#define BTN_VAL_ADDR 0x1000
u16 btn_val;
if(is_testen&&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);
als(uart2rxsta&UART2_PACKET_OK)
{
als(uart2buf[0]==0x01&&uart2buf[1]==0x02)
{
init_weight = *(zweven*)(uart2buf+2);
init_weight *= (*(float*)flashdat);
sys_write_vp(0x1178, (u8*)&init_weight, 2);
}else if(uart2buf[0]==0x02&&uart2buf[1]==0x05)
{
init_ml = *(zweven*)(uart2buf+2);
init_ml /= (*(float*)flashdat+20);
sys_write_vp(0x1180, (u8*)&init_ml, 2);
}else if(uart2buf[0]==0x03&&uart2buf[1]==0x07)
{
snelheid_val = *(zweven*)(uart2buf+2);
disp_val += (snelheid_val*2,45f);
sys_write_vp(0x1180, (u8*)&disp_val, 2);
}anders if(uart2buf[0]==0x04)
{
totaal_getal = uart2buf[1]*256+uart2buf[2];
}anders if(uart2buf[0]==0x05)
{
is_en_tmp = uart2buf[2];
}
uart2rxsta = 0;
}
}
als(is_periode1)
{
is_periode1 = 0;
t_voorbeeld();
if(is_testen&&is_en_tmp)
sys_write_vp(0x1170,(u8*)&tmp,2);
}
als(is_btn_scan==0)
opbrengst;
is_btn_scan = 0;
sys_read_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);
als(btn_val==0)
opbrengst;
als(btn_val<=0x10)
start_win_btn_click_handler(btn_val);
btn_val = 0;
sys_write_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);
}
Raadpleeg de broncode voor meer informatie.
Posttijd: 02-dec-2023