一种绘制单色屏幕的方法和装置及一种电子设备制造方法及图纸

技术编号:15692477 阅读:68 留言:0更新日期:2017-06-24 06:32
本发明专利技术公开了一种绘制单色屏幕的方法和装置及一种电子设备,该方法包括:定义符合屏幕分辨率的显存,显存中的每一位与屏幕的每一个像素点是一一对应的,通过控制显存中每一位的值为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位图的显存。当程序绘制完这段显存空间后,再由相关的硬件驱动一次性传输到屏幕上,实现最终绘制信息的显示。现有的将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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1