——از انجمن توسعه دهندگان DWIN
کیس منبع باز برنده جایزه توصیه شده توسط انجمن DWIN را می توان در صنعت ساخت و ساز برای تشخیص محتوای اجزای سیمانی استفاده کرد - یک ابزار اندازه گیری چند مقدار سیمانی بر اساس صفحه نمایش هوشمند T5L.مهندسان از صفحه نمایش هوشمند T5L برای کنترل ماژول تشخیص وزن الکترونیکی، ماژول اندازه گیری دما، ماژول گرمایش، سنسور رطوبت و ماژول مخلوط استفاده می کنند تا عملکرد تشخیص محلول جامد و محتوای اجزای سیمان مایع را درک کنند و از نمایش زمان واقعی نرخ پشتیبانی کنند. تنظیم دما، سابقه سابقه، تنظیم پارامتر مرحله و سایر عملکردها.
1. ساختار برنامه
2.UI Material Display
مثال توسعه UI
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 در تعامل با برد کنترل برای درک عملکرد تشخیص ترکیب سیمان به شرح زیر است:
void btn_click_handler()
{
#define 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);
}دیگر 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);
}دیگر 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);
}elle if(uart2buf[0]==0x04)
{
total_num = uart2buf[1]*256+uart2buf[2];
}elle if(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);
}
برای اطلاعات بیشتر به کد منبع مراجعه کنید.
زمان ارسال: دسامبر-02-2023