—— DWIN ڊولپر فورم کان
DWIN فورم پاران تجويز ڪيل انعام يافته اوپن سورس ڪيس تعميراتي صنعت ۾ استعمال ڪري سگھجي ٿو سيمينٽ جي اجزاء جي مواد کي ڳولڻ لاءِ - هڪ سيمينٽ ملٽي اماؤنٽ ماپڻ وارو اوزار T5L سمارٽ اسڪرين تي ٻڌل آهي.انجنيئرز T5L سمارٽ اسڪرين استعمال ڪن ٿا برقي وزن جي چڪاس ماڊل، گرمي پد جي ماپ ماڊل، حرارتي ماڊل، نمي سينسر، ۽ ميڪسنگ ماڊل کي ڪنٽرول ڪرڻ لاءِ سخت حل ۽ مائع سيمينٽ جزو جي مواد جي چڪاس جي فنڪشن کي محسوس ڪرڻ لاءِ، ۽ ريئل ٽائم ڊسپلي جي شرح کي سپورٽ ڪن ٿا، درجه حرارت سيٽنگ، تاريخ رڪارڊ، اسٽيج پيٽرولر سيٽنگ ۽ ٻيا ڪم.
1. پروگرام جي جوڙجڪ
2.UI مواد ڊسپلي
3.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()
{
وضاحت ڪريو 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)؛
}ٻيو جيڪڏهن (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؛
}
}
جيڪڏھن (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-2023