[Çavkaniya Vekirî] Amûra Pîvana Pirjimarî ya Çimento

——Ji Foruma Pêşdebir a DWIN

Doza çavkaniya vekirî ya xelatgirtî ku ji hêla foruma DWIN ve hatî pêşniyar kirin dikare di pîşesaziya avahîsaziyê de were bikar anîn da ku naveroka pêkhateya çîmentoyê tespît bike - amûrek pîvandinê ya pir-hejmar a çîmentoyê ku li ser ekrana hişmend a T5L-ê ye.Endezyar ekrana hişmend a T5L bikar tînin da ku modula tespîtkirina giraniya elektronîkî, modula pîvandina germahiyê, modula germkirinê, senora şilbûnê, û modulê tevlihevkirinê kontrol bikin da ku fonksiyona tespîtkirina çareseriya zexm û naveroka pêkhateya çîmentoyê ya şil bikin, û piştgirî bidin nîşana rast-ê ya rêjeyê, mîhenga germahiyê, tomarkirina dîrokê, mîhengkirina pîvana qonaxê û fonksiyonên din.

1. Structure Program

acdsb (1)

2.UI Material Display

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

Mînaka Pêşveçûna 3.UI

acdsb (6)

4.C51 design software

Bernameya fermana destpêkê ya ji bo endezyar ku bi panela kontrolê re bi karanîna porta serial 2 T5L re têkilî daynin wiha ye:

vala app_init()

{

is_testing = 0;

test_run_time = 0;

is_sec = 0;

period1 = 0;

is_period1 = 0;

uart2_init(115200);

send_bytes("AT+DESTPÊK=0\r\n", mezinahiya("AT+DESTPÊK=0\r\n")-1);

sys_delay_ms(2500);

sys_pic(1);

send_bytes("AT+START\r\n", sizeof("AT+START\r\n")-1);

}

Bernameya sereke ya ekrana hişmend a T5L ku bi panelê kontrolê re têkildar e da ku fonksiyona tespîtkirina pêkhatina çîmentoyê bicîh bîne wiha ye:

void btn_click_handler()

{

#define BTN_VAL_ADDR 0x1000

u16 btn_val;

eger(ceribandin_e&&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);

eger(uart2rxsta&UART2_PACKET_OK)

{

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

{

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

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

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

}heke din(uart2buf[0]==0x02&&uart2buf[1]==0x05)

{

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

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

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

}heke din(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);

}eger din(uart2buf[0]==0x04)

{

gişt_hejmar = uart2buf[1]*256+uart2buf[2];

}eger din(uart2buf[0]==0x05)

{

is_en_tmp = uart2buf[2];

}

uart2rxsta = 0;

}

}

eger(is_period1)

{

is_period1 = 0;

t_sample();

eger(ceribandin e&&is_en_tmp)

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

}

eger(is_btn_scan==0)

vegerr;

is_btn_scan = 0;

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

eger(btn_val==0)

vegerr;

eger(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

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

}

 

Ji bo bêtir li koda çavkaniyê binihêrin.


Dema şandinê: Dec-02-2023