[ແຫຼ່ງເປີດ] Cement ເຄື່ອງມືວັດແທກຫຼາຍປະລິມານ

——ຈາກ DWIN Developer Forum

ກໍລະນີແຫຼ່ງເປີດທີ່ໄດ້ຮັບຮາງວັນທີ່ແນະນໍາໂດຍກອງປະຊຸມ DWIN ສາມາດນໍາໃຊ້ໃນອຸດສາຫະກໍາການກໍ່ສ້າງເພື່ອກວດພົບເນື້ອໃນອົງປະກອບຂອງຊີມັງ - ເຄື່ອງມືວັດແທກປະລິມານຫຼາຍຊີມັງໂດຍອີງໃສ່ T5L smart screen .ວິສະວະກອນໃຊ້ຫນ້າຈໍອັດສະລິຍະ T5L ເພື່ອຄວບຄຸມໂມດູນການກວດຫານ້ໍາຫນັກເອເລັກໂຕຣນິກ, ໂມດູນການວັດແທກອຸນຫະພູມ, ໂມດູນຄວາມຮ້ອນ, ເຊັນເຊີຄວາມຊຸ່ມຊື່ນ, ແລະໂມດູນການຜະສົມເພື່ອຮັບຮູ້ການທໍາງານຂອງການແກ້ໄຂແຂງແລະເນື້ອໃນອົງປະກອບຊີມັງຂອງແຫຼວ, ແລະສະຫນັບສະຫນູນການສະແດງອັດຕາທີ່ໃຊ້ເວລາທີ່ແທ້ຈິງ, ການ​ຕັ້ງ​ຄ່າ​ອຸນ​ຫະ​ພູມ​, ການ​ບັນ​ທຶກ​ປະ​ຫວັດ​ສາດ​, ການ​ຕັ້ງ​ຄ່າ​ຂັ້ນ​ຕອນ​ຂອງ​ການ​ຕັ້ງ​ຄ່າ​ແລະ​ຫນ້າ​ທີ່​ອື່ນໆ​.

1. ໂຄງປະກອບການ

adsb (1)

2.UI ຈໍສະແດງຜົນວັດສະດຸ

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

3. ຕົວຢ່າງການພັດທະນາ UI

adsb (6)

4.C51 ການອອກແບບຊອບແວ

ໂຄງ​ການ​ຄໍາ​ສັ່ງ​ການ​ເລີ່ມ​ຕົ້ນ​ສໍາ​ລັບ​ວິ​ສະ​ວະ​ກອນ​ການ​ຕິດ​ຕໍ່​ພົວ​ພັນ​ກັບ​ຄະ​ນະ​ກໍາ​ມະ​ການ​ນໍາ​ໃຊ້ T5L serial port 2 ມີ​ດັ່ງ​ນີ້​:

app_init() void

{

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

{

#define 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 += (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;

}

}

ຖ້າ(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);

}

 

ອ້າງອີງໃສ່ລະຫັດແຫຼ່ງສໍາລັບການເພີ່ມເຕີມ.


ເວລາປະກາດ: ວັນທີ 02-02-2023