都是按鍵控件惹得禍---智能串口屏應(yīng)用心得
最近再做一個(gè)污水處理廠PH值檢測(cè)自動(dòng)控制設(shè)備,我給他起的名字“污水處理廠PH值自動(dòng)監(jiān)測(cè)超標(biāo)報(bào)警聯(lián)動(dòng)控制系統(tǒng)”?,F(xiàn)場(chǎng)可通過(guò)聲光報(bào)警,短信告知負(fù)責(zé)人,可與其他設(shè)備聯(lián)動(dòng)。我們采用了一塊智能串口屏。
談?wù)勎矣么谄恋捏w會(huì):
1、一般屏幕的會(huì)有按鍵控件,按鍵控件有【按下事件】和【彈起事件】,顧名思義【按下事件】時(shí)按下按鍵就會(huì)觸發(fā)的事件或者說(shuō)按下就要干的事;【彈起事件】是按鍵彈起 就干的事。
比如 我要設(shè)置一個(gè)電話號(hào)碼,點(diǎn)擊了手機(jī)號(hào)碼輸入文本框會(huì)彈出鍵盤(pán)輸入界面,輸入手機(jī)號(hào)碼點(diǎn)解確認(rèn)返回手機(jī)號(hào)碼設(shè)置界面把剛才設(shè)置的號(hào)碼顯示在對(duì)應(yīng)的文本框內(nèi),就這個(gè)動(dòng)作讓我足足苦惱了一周。
單片機(jī)可以接收到鍵盤(pán)輸入界面的發(fā)來(lái)的手機(jī)號(hào)碼字符串,并能正確輸出,這個(gè)輸出用計(jì)算機(jī)接收有點(diǎn)問(wèn)題都沒(méi)有,但連接屏幕就是在手機(jī)號(hào)碼文本框內(nèi)不顯示,用單片機(jī)一直給手機(jī)號(hào)碼文本框送數(shù)據(jù),也能正常顯示,就是兩個(gè)連到一起不行。
因?yàn)?,我鍵盤(pán)輸入界面的【確認(rèn)】鍵是【按下事件】發(fā)送輸入的手機(jī)號(hào)碼,【彈起事件】重繪手機(jī)號(hào)碼設(shè)置界面,織就會(huì)從在一個(gè)問(wèn)題,【按下事件】發(fā)送了輸入的手機(jī)號(hào)碼給單片機(jī),單片機(jī)處理完成,再把結(jié)果送顯手機(jī)號(hào)碼設(shè)置界面,單片機(jī)已經(jīng)送出了顯示數(shù)據(jù),但【彈起事件】還沒(méi)執(zhí)行或者手機(jī)號(hào)碼設(shè)置界面還沒(méi)重繪完成,就會(huì)造成數(shù)據(jù)丟失。
解決方法,1把發(fā)送數(shù)據(jù)事件放在彈起事件中完成;2先測(cè)試當(dāng)前界面然后在發(fā)送數(shù)據(jù)給屏幕。
在界面切換時(shí),尤其是涉及到界面切換后有文本框的界面需要注意這一點(diǎn)。
2、注意屏幕廠家的版本兼容性。供屏的廠家如果更新了游戲規(guī)則你就得隨之更新,比如你裝在現(xiàn)場(chǎng)的設(shè)備屏幕需要更換、買不到原來(lái)版本的屏幕了,你就得連主控程序也得更新,如
print指令現(xiàn)已經(jīng)支持變量,原來(lái)的字符串發(fā)送無(wú)需加雙引號(hào),現(xiàn)在必須加上雙引號(hào),否則會(huì)報(bào)錯(cuò)。
為此我又重新更改顯示程序和控制程序,如果設(shè)備裝到了現(xiàn)場(chǎng),那工作量會(huì)很大。
后期采購(gòu)的屏幕的版本和之前的產(chǎn)品版本不兼容時(shí),就得該控制程序。
3、仔細(xì)看廠家的說(shuō)明書(shū)和注意事項(xiàng),尤其是注意事項(xiàng)和應(yīng)用的小技巧。屏廠家沒(méi)明確說(shuō)明的就是模糊地帶,這里邊好多事是說(shuō)不清的。因?yàn)槟悴皇怯螒蛞?guī)則的制定者。