linux下怎么实现将开发板部分清屏
我的开发板是ti的dm368lcd屏幕是800x480的运行ddif=/dev/zeroof=/dev/fb0命令能够全部清屏但是我想将屏幕600x480的部分清屏该怎么...
我的开发板是ti的dm368 lcd屏幕是800x480的 运行dd if=/dev/zero of=/dev/fb0命令能够全部清屏但是 我想将屏幕600x480的部分清屏该怎么实现啊?
展开
1个回答
展开全部
方法一: 使用open、lseek 、write 相应的地址
方法二:使用open、mmap、然后写显存相应的区域
以上不但可以写特定区域,还可以自己实现图形 汉字显示、做简单的UI等。
方法二:使用open、mmap、然后写显存相应的区域
以上不但可以写特定区域,还可以自己实现图形 汉字显示、做简单的UI等。
追问
谢谢 我用的是第二种方法 已经是吸纳了 清楚600x480的屏幕 但是不知道怎么实现从从指定起点开始的矩形清屏
追答
如果是600x480的屏幕,每行600个点,假如是565格式的数据,即16bpp(这个具体是几自己查一下自己驱动配置,或者ioctl也可以获得),从而确定2个字节对应一个像素
那么600*2=1200字节,这样就是从你mmap的起始地址算起,每1200字节对应一行,第二个1200字节对应第二行,
也可以把该地址转换成如下的vram形式
unsigned short vram[480][600]; //定义short类型的原因是假设2字节一个像素的
然后修改对应矩形区域的像素就可以了,第二种方法思路比较清晰简单些。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |