[Open Source] Simende Yakawanda-Mari Yekuyeresa Chimbo

——Kubva kuDWIN Developer Forum

Iyo yekuhwina-inohwina yakavhurika sosi kesi inokurudzirwa neDWIN foramu inogona kushandiswa muindasitiri yekuvaka kuona semendi zvirimo - simende yakawanda-mari yekuyeresa chiridzwa chakavakirwa paT5L smart screen. Mainjiniya anoshandisa T5L smart screen kudzora yemagetsi uremu yekuona module, tembiricha yekuyera module, yekudziya module, hunyoro sensor, uye kusanganisa module kuona basa rekuona kwesolution solution uye liquid simende chikamu chemukati, uye kutsigira chaiyo-nguva kuratidza chiyero, kugadzika tembiricha, nhoroondo rekodhi, Stage parameter kumisikidza uye mamwe mabasa.

1. Chirongwa Chimiro

acdsb (1)

2.UI Material Display

acdsb (2)
acdsb (4)
acdsb (3)
acdsb (5)

3.UI Development Muenzaniso

acdsb (6)

4.C51 software design

Iyo yekutanga yekuraira chirongwa cheinjiniya kutaurirana nebhodhi rekutonga uchishandisa T5L serial port 2 ndeiyi inotevera:

void app_init()

{

is_testing = 0;

test_run_time = 0;

is_sec = 0;

nguva1 = 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);

}

Chirongwa chikuru cheT5L intelligent screen inodyidzana ne control board kuona basa rekuona sement kuumbwa rakadai:

void btn_click_handler()

{

#define BTN_VAL_ADDR 0x1000

u16 btn_val;

kana(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);

kana(uart2rxsta&UART2_PACKET_OK)

{

kana(uart2buf[0]==0x01&&uart2buf[1]==0x02)

{

init_weight = *(float*)(uart2buf+2);

init_weight *= (*(float*)flashdat);

sys_write_vp(0x1178, (u8*)&init_weight, 2);

}zvimwe kana(uart2buf[0]==0x02&&uart2buf[1]==0x05)

{

init_ml = *(float*)(uart2buf+2);

init_ml /= (*(float*)flashdat+20);

sys_write_vp(0x1180, (u8*)&init_ml, 2);

}zvimwe kana(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);

}zvimwe kana(uart2buf[0]==0x04)

{

total_num = uart2buf[1]*256+uart2buf[2];

}zvimwe kana(uart2buf[0]==0x05)

{

is_en_tmp = uart2buf[2];

}

uart2rxsta = 0;

}

}

kana(iri_nguva1)

{

is_period1 = 0;

t_sample();

kana(is_testing&&is_en_tmp)

sys_write_vp(0x1170,(u8*)&tmp,2);

}

kana(is_btn_scan==0)

return;

is_btn_scan = 0;

sys_read_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);

kana(btn_val==0)

return;

kana(btn_val

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

sys_write_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);

}

 

Tarisa kusource code kuti uwane zvimwe.


Nguva yekutumira: Zvita-02-2023