——DWIN Developer Forum-ից
DWIN ֆորումի կողմից առաջարկվող մրցանակակիր բաց կոդով գործը կարող է օգտագործվել շինարարության ոլորտում՝ հայտնաբերելու ցեմենտի բաղադրիչի պարունակությունը՝ T5L խելացի էկրանի վրա հիմնված ցեմենտի բազմաքանակ չափիչ գործիք:Ինժեներները օգտագործում են T5L խելացի էկրանը՝ վերահսկելու քաշի հայտնաբերման էլեկտրոնային մոդուլը, ջերմաստիճանի չափման մոդուլը, ջեռուցման մոդուլը, խոնավության սենսորը և խառնիչ մոդուլը՝ իրականացնելու պինդ լուծույթի և հեղուկ ցեմենտի բաղադրիչի հայտնաբերման գործառույթը և աջակցելու արագության իրական ժամանակի ցուցադրմանը: ջերմաստիճանի կարգավորում, պատմության գրանցում, Stage պարամետրի կարգավորում և այլ գործառույթներ:
1. Ծրագրի կառուցվածքը
2.UI նյութի ցուցադրում
3.UI-ի զարգացման օրինակ
4.C51 ծրագրային ապահովման ձևավորում
Նախաստորագրման հրամանի ծրագիրը ինժեների համար՝ T5L սերիական պորտ 2-ի միջոցով կառավարման տախտակի հետ հաղորդակցվելու համար հետևյալն է.
void app_init()
{
is_testing = 0;
test_run_time = 0;
is_sec = 0;
ժամկետ1 = 0;
is_period1 = 0;
uart2_init (115200);
send_bytes ("AT+INIT=0\r\n", չափը ("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);
}
T5L խելացի էկրանի հիմնական ծրագիրը, որը փոխազդում է կառավարման տախտակի հետ, իրականացնելու ցեմենտի կազմի հայտնաբերման գործառույթը, հետևյալն է.
void btn_click_handler()
{
#սահմանել BTN_VAL_ADDR 0x1000
u16 btn_val;
if (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));
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);
}այլ եթե (uart2buf[0]==0x02&&uart2buf[1]==0x05)
{
init_ml = *(float*)(uart2buf+2);
init_ml /= (*(float*)flashdat+20);
sys_write_vp (0x1180, (u8*)&init_ml, 2);
}այլ եթե (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 (is_period1)
{
is_period1 = 0;
t_sample ();
if (is_testing&&is_en_tmp)
sys_write_vp(0x1170,(u8*)&tmp,2);
}
if(is_btn_scan==0)
վերադարձ;
is_btn_scan = 0;
sys_read_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);
եթե (btn_val==0)
վերադարձ;
if(btn_val<=0x10)
start_win_btn_click_handler (btn_val);
btn_val = 0;
sys_write_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);
}
Լրացուցիչ տեղեկությունների համար տե՛ս աղբյուրի կոդը:
Հրապարակման ժամանակը՝ Dec-02-2023