本技術涉及,具體而言,涉及一種串口屏的圖片動態(tài)顯示方法、裝置、電子設備和計算機可讀存儲介質。
背景技術:
1、串口屏,可組態(tài)方式二次開發(fā)的智能串口控制顯示屏,是指帶有串口通信的薄膜晶體管(thin?film?transistor,tft)彩色液晶屏顯示控制模組,可以連接plc、變頻器、溫控儀表、數(shù)據采集模塊等外部設備,利用顯示屏顯示相關數(shù)據,通過觸摸屏、按鍵、鼠標等輸入單元寫入參數(shù)或輸入操作指令,進而實現(xiàn)用戶與機器進行信息交互。廣泛應用于工業(yè)自動化、智能家電、交通軌道、數(shù)據機房、充電樁、電力醫(yī)療、國防安全、共享設備等各個顯示領域。
2、傳統(tǒng)的串口屏方案是基于微控制單元和屏幕實現(xiàn)的人機交互過程,大部分都是通過圖形用戶界面以及串口數(shù)據的交互方式實現(xiàn)具體的功能。市面上的串口屏一般都是直接純硬件驅動,靠主芯片來處理所有的功能,其中一般都是單線程的、處理方式都是阻塞的。
3、現(xiàn)有的串口屏單線程的原因,在實現(xiàn)串口更新圖片的時候,沒法在更新過程中實現(xiàn)其他的操作,只能浪費運行資源在等待進程完成才可以處理其他功能,從系統(tǒng)資源優(yōu)化角度看,該實現(xiàn)方式對于用戶很不友好。
4、同時,由于現(xiàn)有技術都是通過圖形用戶界面以及串口數(shù)據的交互方式實現(xiàn)具體的功能,這種開放模式下的組態(tài)集成性較高,基于屏幕的坐標,動態(tài)裁剪圖片的顯示功能不容易實現(xiàn)或者實現(xiàn)方式比較復雜。
技術實現(xiàn)思路
1、為了解決上述的至少一個技術問題,本技術實施例的提供一種串口屏的圖片動態(tài)顯示方法、裝置、電子設備和計算機可讀存儲介質。
2、第一方面,本技術實施例提供了一種串口屏的圖片動態(tài)顯示方法,包括:
3、開啟中斷,將通過串行接口接收的外部設備發(fā)送的圖片更新數(shù)據存儲在目標臨時緩存中;
4、將所述目標臨時緩存中的圖片更新數(shù)據存儲到存儲到所述串口屏的內存的圖片文件中;
5、接收接收外部設備發(fā)送的顯示指令;
6、根據所述顯示指令顯示所述圖片文件中的所述圖片更新數(shù)據。
7、在上述實現(xiàn)過程中,將開啟中斷將通過串行接口接收的外部設備發(fā)送的圖片更新數(shù)據存儲在目標臨時緩存中,進一步將所述目標臨時緩存中的圖片更新數(shù)據存儲到存儲到所述串口屏的內存的圖片文件中,最后根據顯示指令顯示圖片更新數(shù)據。通過中斷的方式直接將圖片更新數(shù)據存儲在內存中,避免處理器線程堵塞,提高了利用資源。同時,基于上述方式,還可通過顯示指令直接顯示內存中的文件數(shù)據,不需要通過編寫代碼更改處理器的線程中斷順序即可實現(xiàn)動態(tài)更新圖片。
8、進一步地,所述將通過串行接口接收的外部設備發(fā)送的圖片更新數(shù)據存儲在目標臨時緩存中,包括:
9、接收所述外部設備發(fā)送的圖片幀數(shù)據;
10、解析所述圖片幀數(shù)據,得到所述圖片幀數(shù)據中的功能碼和所述圖片更新數(shù)據;
11、根據所述功能碼將所述圖片更新數(shù)據存儲在所述目標臨時緩存中。
12、在上述實現(xiàn)過程中,解析圖片幀數(shù)據中的功能碼,可以知曉接收的圖片更新數(shù)據的關鍵信息,根據該關鍵信息可以將圖片更新數(shù)據存儲在目標臨時緩存中,方便后續(xù)調用顯示。
13、進一步地,所述根據所述功能碼將所述圖片更新數(shù)據存儲在所述目標臨時緩存中,包括:
14、若所述功能碼為第一功能碼,在所述圖片幀數(shù)據中解析出所述圖片更新數(shù)據對應的圖片更新數(shù)據包的數(shù)量;
15、若所述功能碼為第二功能碼,在所述圖片幀數(shù)據中解析出包含所述圖片更新數(shù)據的圖片更新數(shù)據包序號;
16、根據所述圖片更新數(shù)據包的數(shù)量和所述圖片更新數(shù)據包序號將所述將所述圖片更新數(shù)據存儲在所述目標臨時緩存中。
17、在上述實現(xiàn)過程中,當功能碼為第一功能碼時,通過對該圖片幀數(shù)據進行解析,可以得出外部設備所要發(fā)送的所有圖片更新數(shù)據被存放在多少個數(shù)據包內,當功能碼為第二功能碼時,通過對該圖片幀數(shù)據進行解析,可以知曉外部設備現(xiàn)在發(fā)送的是第幾個數(shù)據包,從而判斷是否已經接收到所有的圖片更新數(shù)據。
18、進一步地,所述根據所述圖片更新數(shù)據包的數(shù)量和所述圖片更新數(shù)據包序號將所述將所述圖片更新數(shù)據存儲在所述目標臨時緩存中,包括:
19、若所述圖片更新數(shù)據包序號小于所述圖片更新數(shù)據包的數(shù)量,將所述圖片更新數(shù)據以數(shù)組形式緩存在所述目標臨時緩存中。
20、在上述實現(xiàn)過程中,若所述圖片更新數(shù)據包序號小于所述圖片更新數(shù)據包的數(shù)量,將所述圖片更新數(shù)據以數(shù)組形式緩存在所述目標臨時緩存中,將圖片更新數(shù)據首先以數(shù)組方式緩存在目標臨時緩存中,當圖片更新數(shù)據的傳輸出現(xiàn)錯誤時,基于數(shù)組方式可以提高圖片更新數(shù)據的刪除速度。
21、進一步地,所述將所述目標臨時緩存中的圖片更新數(shù)據存儲到存儲到所述串口屏的內存的圖片文件中,包括:
22、若所述圖片更新數(shù)據包序號等于所述圖片更新數(shù)據包的數(shù)量,將所述數(shù)組形式的圖片更新數(shù)據寫入所述圖片文件。
23、在上述實現(xiàn)過程中,若所述圖片更新數(shù)據包序號大于所述圖片更新數(shù)據包的數(shù)量,說明此時圖片更新數(shù)據已經被全部接收,此時可以將數(shù)據全部存入到圖片文件中。
24、進一步地,所述顯示指令包括:目標位置;
25、所述根據所述顯示指令顯示所述圖片文件中的所述圖片更新數(shù)據,包括:
26、若所述圖片更新數(shù)據包序號等于所述圖片更新數(shù)據包的數(shù)量,將所述數(shù)組形式的圖片更新數(shù)據寫入所述圖片文件。
27、在上述實現(xiàn)過程中,若所述圖片更新數(shù)據包序號等于所述圖片更新數(shù)據包的數(shù)量,將所述數(shù)組形式的圖片更新數(shù)據寫入所述圖片文件,便于后續(xù)被串口屏直接調用顯示。
28、進一步地,所述將通過串行接口接收的外部設備發(fā)送的圖片更新數(shù)據存儲在目標臨時緩存中之前,還包括:
29、接收所述外部設備發(fā)送的圖片發(fā)送指令;
30、根據所述發(fā)送指令發(fā)送應答指令到所述外部設備,以使所述外部設備發(fā)送所述圖片更新數(shù)據到所述串口屏。
31、在上述實現(xiàn)過程,通過外部設備主動發(fā)送圖片發(fā)送指令,通知串口屏利用中斷的形式將圖片更新數(shù)據存儲到目標臨時緩存中,提高對串口屏的顯示效果的靈活控制。
32、本技術的有益效果是,處理器只需要執(zhí)行中斷以將串行的圖片更新數(shù)據存入臨時緩存中,然后寫入圖片文件。處理器在中斷執(zhí)行之后即可執(zhí)行其它任務,并不需要等待圖片更新數(shù)據完全存儲到目標臨時緩存中才可執(zhí)行其它任務,提高了處理器的利用率。
33、第二方面,本技術提供一種串口屏的圖片動態(tài)顯示裝置,包括:
34、接收模塊,用于將通過串行接口接收的外部設備發(fā)送的圖片更新數(shù)據存儲在目標臨時緩存中;
35、存儲模塊,用于將所述目標臨時緩存中的圖片更新數(shù)據存儲到存儲到所述串口屏的內存的圖片文件中;
36、所述接收模塊還用于接收接收外部設備發(fā)送的顯示指令;
37、顯示模塊,用于根據所述顯示指令顯示所述圖片文件中的所述圖片更新數(shù)據。
38、第三方面,本技術提供一種電子設備,包括:存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)如第一方面任一項所述的方法的步驟。
39、第四方面,本技術提供一種計算機程序產品,所述計算機程序產品在計算機上運行時,使得計算機執(zhí)行如第一方面任一項所述的方法。
40、第五方面,本技術提供一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有指令,當所述指令在計算機上運行時,使得所述計算機執(zhí)行如第一方面任一項所述的方法。
41、本技術公開的其他特征和優(yōu)點將在隨后的說明書中闡述,或者,部分特征和優(yōu)點可以從說明書推知或毫無疑義地確定,或者通過實施本技術公開的上述技術即可得知。
42、為使本技術的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。