[ئوچۇق مەنبە] سېمونت كۆپ مىقداردىكى ئۆلچەش ئەسۋابى

—— DWIN ئاچقۇچىلار مۇنبىرىدىن

DWIN مۇنبىرى تەۋسىيە قىلغان مۇكاپاتقا ئېرىشكەن ئوچۇق كودنى قۇرۇلۇش كەسپىدە سېمونت زاپچاسلىرىنىڭ مەزمۇنىنى بايقاشقا بولىدۇ - T5L ئەقلىي ئىقتىدارلىق ئېكراننى ئاساس قىلغان سېمونت كۆپ مىقداردىكى ئۆلچەش ئەسۋابى.ئىنژېنېرلار T5L ئەقلىي ئىقتىدارلىق ئېكران ئارقىلىق ئېلېكترونلۇق ئېغىرلىقنى تەكشۈرۈش مودۇلى ، تېمپېراتۇرىنى ئۆلچەش مودۇلى ، ئىسسىنىش مودۇلى ، نەملىك سېنزورى ۋە ئارىلاش مودۇلنى كونترول قىلىپ ، قاتتىق ئېرىتمە ۋە سۇيۇق سېمونت زاپچاسلىرىنىڭ بايقاش ئىقتىدارىنى ئەمەلگە ئاشۇرىدۇ ھەمدە سۈرئەتنىڭ دەل ۋاقتىدا كۆرسىتىلىشىنى قوللايدۇ ، تېمپېراتۇرا تەڭشىكى ، تارىخ خاتىرىسى ، باسقۇچ پارامېتىر تەڭشىكى ۋە باشقا ئىقتىدارلار.

1. پروگرامما قۇرۇلمىسى

acdsb (1)

2.UI ماتېرىيال كۆرسىتىش

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

3.UI تەرەققىيات مىسالى

acdsb (6)

4.C51 يۇمشاق دېتال لايىھىلەش

ئىنژېنېرنىڭ T5L يۈرۈشلۈك ئېغىزى 2 ئارقىلىق كونترول تاختىسى بىلەن ئالاقىلىشىشىنى باشلاش بۇيرۇق پروگراممىسى تۆۋەندىكىچە:

void app_init ()

{

is_testing = 0;

test_run_time = 0;

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

}

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

} بولمىسا ئەگەر (uart2buf [0] == 0x04)

{

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

} بولمىسا ئەگەر (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);

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

}

 

تېخىمۇ كۆپ ئۇچۇرنىڭ ئەسلى كودىغا مۇراجىئەت قىلىڭ.


يوللانغان ۋاقتى: 12-دېكابىردىن 2023-يىلغىچە