[ប្រភពបើកចំហ] ឧបករណ៍វាស់បរិមាណស៊ីម៉ងត៍

—— ពីវេទិកាអ្នកអភិវឌ្ឍន៍ DWIN

ករណីប្រភពបើកចំហដែលទទួលបានពានរង្វាន់ដែលត្រូវបានណែនាំដោយវេទិកា DWIN អាចត្រូវបានប្រើនៅក្នុងឧស្សាហកម្មសំណង់ដើម្បីរកមើលមាតិកានៃសមាសធាតុស៊ីម៉ងត៍ - ឧបករណ៍វាស់បរិមាណស៊ីម៉ងត៍ដែលមានមូលដ្ឋានលើអេក្រង់ឆ្លាតវៃ T5L ។វិស្វករប្រើអេក្រង់ឆ្លាតវៃ T5L ដើម្បីគ្រប់គ្រងម៉ូឌុលរាវរកទម្ងន់អេឡិចត្រូនិច ម៉ូឌុលវាស់សីតុណ្ហភាព ម៉ូឌុលកំដៅ ឧបករណ៏សំណើម និងម៉ូឌុលលាយ ដើម្បីដឹងពីមុខងាររាវរកសារធាតុរឹង និងសមាសធាតុស៊ីម៉ងត៍រាវ និងគាំទ្រការបង្ហាញអត្រាពេលវេលាពិតប្រាកដ។ ការកំណត់សីតុណ្ហភាព កំណត់ត្រាប្រវត្តិ ការកំណត់ប៉ារ៉ាម៉ែត្រដំណាក់កាល និងមុខងារផ្សេងទៀត។

1. រចនាសម្ព័ន្ធកម្មវិធី

អេឌីអេសប៊ី (១)

ការបង្ហាញសម្ភារៈ UI

អេឌីអេសប៊ី (២)
អេឌីអេសប៊ី (៤)
អេឌីអេសប៊ី (៣)
អេឌីអេសប៊ី (៥)

3. UI Development ឧទាហរណ៍

អេឌីអេសប៊ី (៦)

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",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 អន្តរកម្មជាមួយផ្ទាំងបញ្ជា ដើម្បីដឹងពីមុខងារនៃការរកឃើញសមាសធាតុស៊ីម៉ងត៍មានដូចខាងក្រោម៖

ទុកជាមោឃៈ btn_click_handler()

{

#កំណត់ BTN_VAL_ADDR 0x1000

u16 btn_val;

ប្រសិនបើ (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);

ប្រសិនបើ(uart2rxsta&UART2_PACKET_OK)

{

ប្រសិនបើ(uart2buf[0]==0x01&&uart2buf[1]==0x02)

{

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

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

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

}else if(uart2buf[0]==0x02&&uart2buf[1]==0x05)

{

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

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

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

}else if(uart2buf[0]==0x03&&uart2buf[1]==0x07)

{

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

disp_val += (ល្បឿន_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;

}

}

ប្រសិនបើ (is_period1)

{

is_period1 = 0;

t_sample();

ប្រសិនបើ (is_testing&&is_en_tmp)

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

}

ប្រសិនបើ(is_btn_scan==0)

ត្រឡប់មកវិញ;

is_btn_scan = 0;

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

ប្រសិនបើ(btn_val==0)

ត្រឡប់មកវិញ;

ប្រសិនបើ(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

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

}

 

សូមមើលកូដប្រភពសម្រាប់ព័ត៌មានបន្ថែម។


ពេលវេលាបង្ហោះ៖ ថ្ងៃទី ០២ ខែ ធ្នូ ឆ្នាំ ២០២៣