本發明專利技術公開了一種繪制單色屏幕的方法和裝置及一種電子設備,該方法包括:定義符合屏幕分辨率的顯存,顯存中的每一位與屏幕的每一個像素點是一一對應的,通過控制顯存中每一位的值為1或0,即可控制屏幕每個像素點點亮或熄滅;定義符合位帶結構的二維數組指針,將該二維數組指針指向顯存起始位對應的位帶別名區的地址,利用Cortex?M提供的位帶技術,將顯存映射到位帶別名區,實現對顯存任意位的直接訪問,避免了移位置位、移位清零、坐標計算等操作,提高繪制效率;當顯存逐像素填充滿之后,將顯存數據發送到屏幕,最終完成屏幕的繪制,解決了現有的對單色屏幕的繪制方案不夠靈活、效率不高的問題。
Method and device for drawing monochrome screen and electronic device
The invention discloses a method and a device for drawing monochrome screen and an electronic device, the method includes: definition with screen resolution memory, each and every pixel of the screen memory is one-to-one, by controlling the memory of every value is 1 or 0. Control screen each pixel lit or extinguished; a definition is in line with band structure of two-dimensional array pointer, the two-dimensional array pointer aliasing area memory start bit corresponding bit, using the Cortex M provided with memory mapping technology, will be in place with a don't area, to achieve direct access to any one of the memory to avoid the shift, set, reset, shift coordinate calculation and other operations, improve the rendering efficiency; when the memory pixel is filled, the video data is sent to the screen, the final completion of the screen rendering, solution The existing drawing scheme for monochrome screen is not flexible enough and the efficiency is not high.
【技術實現步驟摘要】
一種繪制單色屏幕的方法和裝置及一種電子設備
本專利技術涉及虛擬現實
,具體涉及一種繪制單色屏幕的方法和裝置及一種電子設備。
技術介紹
近年來,智能穿戴設備迅速發展,其中很多都配備了自發光的單色oled屏幕,這種屏幕在陽光下有很好的顯示效果,且體積小。通常智能穿戴設備上配置的單色屏幕沒有灰度等級,信息的顯示是通過控制屏幕上像素點的點亮與熄滅實現的。待顯示的文字、圖像信息需要轉換成與屏幕上像素點對應的單色bmp格式的位圖圖片,然后將位圖圖片信息取出,逐像素輸出繪制到屏幕上,這樣就實現了文字、圖像等信息的最終顯示。程序中要實現逐像素繪制單色屏幕,往往需要內存中的一段與屏幕像素點數匹配的內存作為臨時繪制bmp位圖的顯存。當程序繪制完這段顯存空間后,再由相關的硬件驅動一次性傳輸到屏幕上,實現最終繪制信息的顯示?,F有的將bmp信息繪制到單色屏幕的顯存的方法有如下兩種:第一種,逐像素繪制的方式:顯存的最小的存儲訪問單元的大小是字節,一個字節由8位組成,顯存中各個位與屏幕的像素點一一對應,當想要將一個像素進行點亮或熄滅時,只要向對應顯存字節中的對應bit位進行置位或清零操作。但是置位、清零操作通常是利用編程語言提供的移位、邏輯或、邏輯與等操作實現的,雖然使用起來比較靈活,但效率不高,僅能做一些簡單的顯示的動畫,對復雜的動畫效果,這種繪制顯存的方式顯然不是最優的。第二種,內存copy繪制的方式:將待顯示的bmp信息按照內存字節對齊的方式直接向顯存中copy繪制,避免繁瑣的移位、坐標查找、邏輯運算等操作,實現一次性將1個字節8個bmpbit位繪制到顯存中,效率比逐像素繪制高,但是因為需要將文字、圖片等信息按照8的倍數進行、列轉換,確保生成的bmp位圖的行、列是8的整數倍數,因此失去了顯示的靈活性。當顯示靜態圖像時,有非常大的優勢,但當顯示動畫特效時,此種方法卻無能為力。如果屏幕的分辨率尺寸不是8的整數倍,則此種方式也是不可取的,比如分辨率100*90的情況。
技術實現思路
本專利技術提供了一種繪制單色屏幕的方法和裝置及一種電子設備,以解決現有的對單色屏幕的繪制方案不夠靈活、效率不高的問題。根據本專利技術的一個方面,本專利技術提供了一種繪制單色屏幕的方法,包括:定義符合屏幕分辨率的顯存,顯存的每一位與屏幕的每一個像素點一一對應;定義符合位帶結構的二維數組指針,將所述二維數組指針指向顯存起始位對應的位帶別名區的地址,將顯存映射至位帶別名,顯存的每一位分別與位帶別名區中的一個字對應;通過操作位帶別名區中與顯存對應的每個字填充顯存,之后將顯存中的數據發送給屏幕,完成屏幕繪制。根據本專利技術的另一個方面,本專利技術提供了一種繪制單色屏幕的裝置,包括顯存定義模塊、映射模塊、繪制模塊;所述顯存定義模塊,用于定義符合屏幕尺寸的顯存,顯存的每一位與屏幕的每一個像素點一一對應;所述映射模塊,用于定義符合位帶結構的二維數組指針,將所述二維數組指針指向顯存起始位對應的位帶別名區的地址,顯存的每一位分別與位帶別名區中的一個字對應;所述繪制模塊,用于通過操作位帶別名區中與顯存對應的每個字填充顯存,之后將顯存中的數據發送給屏幕,完成屏幕繪制。根據本專利技術的又一個方面,本專利技術提供了一種電子設備,所述電子設備上設置有單色屏幕,所述電子設備還包括上述的繪制單色屏幕的裝置。本專利技術的有益效果是:本專利技術實施例首先定義了大小與屏幕分辨率相等的顯存,顯存中的每一位與屏幕的每一個像素點是一一對應的,通過控制顯存中每一位的值為1或0,即可控制屏幕每個像素點點亮或熄滅;然后利用Cortex-M提供的位帶技術,將顯存映射到位帶別名區,實現對顯存任意位的直接訪問,避免了移位置位、移位清零、坐標計算等操作,提高繪制效率;當顯存逐像素填充滿之后,將顯存數據發送到屏幕,最終完成屏幕的繪制,解決了現有的對單色屏幕的繪制方案不夠靈活、效率不高的問題。附圖說明圖1是本專利技術一個實施例提供的一種繪制單色屏幕的方法的流程圖;圖2是Cortex-M的位帶技術的原理圖;圖3是本專利技術一個實施例提供的一種繪制單色屏幕的方法的過程示意圖;圖4是本專利技術一個實施例提供的一種繪制單色屏幕的裝置的功能框圖;圖5是本專利技術一個實施例提供的一種電子設備的功能框圖。具體實施方式本專利技術的設計構思是:現有的繪制單色屏幕的兩種方式各有缺陷,逐像素繪制的方式需要進行移位置位、移位清零、坐標計算等繁瑣的操作,效率低,僅能實現簡單的動畫;內存copy繪制的方式缺乏靈活性,并且僅適合靜態圖像的顯示。針對這種情況,本專利技術利用了Cortex-M提供的位帶技術,將顯存映射到位帶別名區,實現對顯存任意位的直接訪問,避免了移位置位、移位清零、坐標計算等操作,提高繪制效率,顯存中的每一位與屏幕的每一個像素點是一一對應的,通過控制顯存中每一位的值為1或0,即可控制屏幕每個像素點點亮或熄滅,當顯存逐像素填充滿之后,通過硬件驅動程序將顯存數據發送到屏幕,即可完成屏幕的繪制,解決了現有的對單色屏幕的繪制方案不夠靈活、效率不高的問題。實施例一圖1是本專利技術一個實施例提供的一種繪制單色屏幕的方法的流程圖,如圖1所示,本實施例提供的繪制單色屏幕的方法包括:步驟S110:定義符合屏幕分辨率的顯存,顯存的每一位與屏幕的每一個像素點一一對應。顯存是一段供單色顯示屏顯示信息的緩存,在嵌入式系統中,顯存就是一段與屏幕分辨率相同的內存區,當要在顯存中繪圖時,需要將位圖信息填充到顯存中。本實施例采用的屏幕為單色LCD顯示屏或自發光單色OLED顯示屏,或者是其他單色顯示技術的屏幕。步驟S120:定義符合位帶結構的二維數組指針,將該二維數組指針指向顯存起始位對應的位帶別名區的地址,將顯存映射至位帶別名區,顯存的每一位分別與位帶別名區中的一個字對應。本實施例利用了Cortex-M提供的位帶(bit-band)技術,其原理如圖2所示,位帶技術是Cortex-M內核中針對某一段區域進行位和字映射的機制,通過位帶技術可以實現對顯存數據的任意位進行直接訪問,例如:(1)將bit0為0的32位整型值寫入0x23FFFFFC地址,將把位于0x200FFFFF的字節的bit7清零。將bit0為1的32位整型值寫入0x23FFFFFC地址,將把位于0x200FFFFF的字節的bit7置位。(2)將bit0為0的32位整型值寫入0x23FFFFE0地址,將把位于0x200FFFFF的字節的bit0清零。將bit0為1的32位整型值寫入0x23FFFFE0地址,將把位于0x200FFFFF的字節的bit0置位。(3)將bit0為0的32位整型值寫入x2200001C地址,將把位于0x20000000的字節的bit7清零。將bit0為1的32位整型值寫入0x2200001C地址,將把位于0x20000000的字節的bit7置位。(4)將bit0為0的32位整型值寫入0x22000000地址,將把位于0x20000000的字節的bit0清零。將bit0為1的32位整型值寫入0x22000000地址,將把位于0x20000000的字節的bit0置位。利用位帶技術對位進行操作相比傳統的位操作效率更高,提供了很大的方便步驟S130:通過操作位帶別名區中與顯存對應的每個字填充顯存,之后將顯存中的數據發送給屏幕,完成屏幕繪本文檔來自技高網...

【技術保護點】
一種繪制單色屏幕的方法,其特征在于,所述方法包括:定義符合屏幕分辨率的顯存,顯存的每一位與屏幕的每一個像素點一一對應;定義符合位帶結構的二維數組指針,將所述二維數組指針指向顯存起始位對應的位帶別名區的地址,將顯存映射至位帶別名區,顯存的每一位分別與位帶別名區中的一個字對應;通過操作位帶別名區中與顯存對應的每個字填充顯存,之后將顯存中的數據發送給屏幕,完成屏幕繪制。
【技術特征摘要】
1.一種繪制單色屏幕的方法,其特征在于,所述方法包括:定義符合屏幕分辨率的顯存,顯存的每一位與屏幕的每一個像素點一一對應;定義符合位帶結構的二維數組指針,將所述二維數組指針指向顯存起始位對應的位帶別名區的地址,將顯存映射至位帶別名區,顯存的每一位分別與位帶別名區中的一個字對應;通過操作位帶別名區中與顯存對應的每個字填充顯存,之后將顯存中的數據發送給屏幕,完成屏幕繪制。2.如權利要求1所述的方法,其特征在于,所述通過操作位帶別名區中與顯存對應的每個字填充顯存具體為:利用符合位帶結構的二維數組操作位帶別名區中與顯存對應的每個字,對顯存進行逐像素填充。3.如權利要求1或2任一項所述的方法,其特征在于,所述屏幕為單色LCD顯示屏或自發光單色OLED顯示屏。4.一種繪制單色屏幕的裝置,其特征在于,所述裝置包括顯存定義模塊、映射模塊、...
【專利技術屬性】
技術研發人員:尹光明,
申請(專利權)人:歌爾科技有限公司,
類型:發明
國別省市:山東,37
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。