——Ti DWIN Forum pamekar
Kasus open source-unggul pangajén dianjurkeun ku forum DWIN bisa dipaké dina industri konstruksi pikeun ngadeteksi eusi komponén semén - semén multi-jumlah alat ukur dumasar kana layar pinter T5L. Insinyur nganggo layar pinter T5L pikeun ngadalikeun modul deteksi beurat éléktronik, modul ukur suhu, modul pemanasan, sensor Uap, sarta modul Pergaulan ngawujudkeun fungsi deteksi solusi padet tur eusi komponén semén cair, sarta ngarojong tampilan real-time tina laju, setting suhu, catetan sajarah, setting parameter Panggung jeung fungsi séjén.
1. Struktur Program
![acdsb (1)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bb534d9587236.jpg)
2.UI Bahan Témbongkeun
![acdsb (2)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bb6b626488123.jpg)
![acdsb (4)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bb84270f77694.jpg)
![acdsb (3)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bb975b6581165.jpg)
![acdsb (5)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bbaf20a513069.jpg)
3.Conto Pangwangunan UI
![acdsb (6)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bbc7a0f429134.jpg)
4.C51 desain software
Program paréntah initialization pikeun insinyur komunikasi sareng dewan kontrol nganggo port serial T5L 2 nyaéta kieu:
void app_init()
{
is_testing = 0;
test_run_time = 0;
is_sec = 0;
période1 = 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);
}
Program utama layar T5L calakan interacting jeung dewan kontrol pikeun ngawujudkeun fungsi deteksi komposisi semén nyaéta kieu:
batal btn_click_handler()
{
#define BTN_VAL_ADDR 0x1000
u16 btn_val;
lamun(is_testing&&is_sec)
{
is_sec = 0;
test_run_time++;
btn_val = sprintf(commbuff,"%02u:%02u",(u16)(test_run_time/60),(u16)(test_run_time%60));
combuff[btn_val+1] = 0;
sys_write_vp(TEST_TIME_VP,commbuff,5);
lamun (uart2rxsta&UART2_PACKET_OK)
{
lamun(uart2buf[0]==0x01&&uart2buf[1]==0x02)
{
init_weight = *(ngambang*)(uart2buf+2);
init_weight *= (*(ngambang*)flashdat);
sys_write_vp (0x1178, (u8 *)&init_weight, 2);
}lain lamun (uart2buf[0]==0x02&&uart2buf[1]==0x05)
{
init_ml = *(ngambang*)(uart2buf+2);
init_ml /= (*(ngambang*)flashdat+20);
sys_write_vp (0x1180, (u8 *) & init_ml, 2);
}Lain lamun (uart2buf[0]==0x03&&uart2buf[1]==0x07)
{
speed_val = *(ngambang*)(uart2buf+2);
disp_val += (speed_val * 2.45f);
sys_write_vp (0x1180, (u8 *) & disp_val, 2);
}lain lamun (uart2buf[0]==0x04)
{
total_num = uart2buf[1]*256+uart2buf[2];
}lain lamun (uart2buf[0]==0x05)
{
is_en_tmp = uart2buf[2];
}
uart2rxsta = 0;
}
}
lamun (mangrupa_periode1)
{
is_period1 = 0;
t_sample();
lamun(is_testing&&is_en_tmp)
sys_write_vp(0x1170,(u8*)&tmp,2);
}
lamun(is_btn_scan==0)
mulang;
is_btn_scan = 0;
sys_read_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);
lamun(btn_val==0)
mulang;
lamun(btn_val
start_win_btn_click_handler(btn_val);
btn_val = 0;
sys_write_vp(BTN_VAL_ADDR, (u8*)&btn_val,1);
}
Tempo kodeu sumber pikeun leuwih lengkep.
waktos pos: Dec-02-2023