——Fan DWIN Developer Forum
De priiswinnende iepenboarne-saak oanrikkemandearre troch it DWIN-foarum kin brûkt wurde yn 'e bousektor om ynhâld fan semintkomponinten te detektearjen - in mjitynstrumint mei meardere bedraggen fan semint basearre op T5L smart skerm.Yngenieurs brûke it T5L-tûke skerm om de elektroanyske gewichtdeteksjemodule, temperatuermjittingsmodule, ferwaarmingsmodule, fochtsensor en mingmodule te kontrolearjen om de deteksjefunksje fan fêste oplossing en ynhâld fan floeibere semintkomponint te realisearjen, en realtime werjaan fan taryf te stypjen, temperatuer ynstelling, skiednis record, Stage parameter ynstelling en oare funksjes.
1. Program Struktuer
2.UI Materiaal Display
3.UI Untjouwing Foarbyld
4.C51 software design
It inisjalisaasjekommandoprogramma foar de yngenieur om te kommunisearjen mei it kontrôleboerd mei de T5L seriële poarte 2 is as folget:
void app_init()
{
is_testing = 0;
test_run_time = 0;
is_sek = 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);
}
It haadprogramma fan it T5L yntelliginte skerm dat ynteraksje mei it kontrôleboerd om de funksje fan deteksje fan semintkomposysje te realisearjen is as folget:
void btn_click_handler()
{
#define BTN_VAL_ADDR 0x1000
u16 btn_val;
if(is_testen&&is_sek)
{
is_sek = 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)
{
totaal_num = uart2buf[1]*256+uart2buf[2];
}else if(uart2buf[0]==0x05)
{
is_en_tmp = uart2buf[2];
}
uart2rxsta = 0;
}
}
as (is_perioade1)
{
is_period1 = 0;
t_sample();
if(is_testen&&is_en_tmp)
sys_write_vp(0x1170,(u8*)&tmp,2);
}
if(is_btn_scan==0)
weromkomme;
is_btn_scan = 0;
sys_read_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);
if(btn_val==0)
weromkomme;
if(btn_val<=0x10)
start_win_btn_click_handler(btn_val);
btn_val = 0;
sys_write_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);
}
Ferwize nei de boarnekoade foar mear.
Post tiid: Dec-02-2023