linux无限刷屏代码,linux下如何实现简单刷屏

linux无限刷屏代码,linux下如何实现简单刷屏今天为了测试我的LCD有没有坏点写了一个简单的刷屏程序,效果还不错,分析给大家。代码如下:#include#include#include#include#include#include#include#includeintmain(intargc,char*argv[]){intfbfd=0;structfb_var_screeninfovinfo;struct…

大家好,又见面了,我是你们的朋友全栈君。

今天为了测试我的LCD有没有坏点写了一个简单的刷屏程序,效果还不错,分析给大家。代码如下:

#include

#include

#include

#include

#include

#include

#include

#include

int main(int argc,char *argv[])

{

int fbfd = 0;

struct fb_var_screeninfo vinfo;

struct fb_fix_screeninfo finfo;

long int screensize = 0;

char *fbp = 0;

char inbuf[240*320*2];

int i = 0;

/*open /dev/fb0 */

fbfd = open(“/dev/fb0”,O_RDWR);

if(fbfd<=0)

{

printf(“Error:cannot open framebuffer devices./n”);

return -1;

}

printf(“The framebuffer devices was opened successfully./n”);

/*get framebuffer infomation*/

if(ioctl(fbfd,FBIOGET_FSCREENINFO,&finfo))

{

printf(“Error: reanding fixed informatin./n”);

return -1;

}

if(ioctl(fbfd,FBIOGET_VSCREENINFO,&vinfo))

{

printf(“Error: reanding var informatin./n”);

return -1;

}

/*set screensiez*/

screensize = vinfo.xres*vinfo.yres*vinfo.bits_per_pixel/8;

/*mmap*/

fbp = (char*)mmap(0,screensize,PROT_READ|PROT_WRITE,MAP_SHARED,fbfd,0);

if((int)fbp == -1)

{

printf(“Error: failed to map framebuffer device to memory./n”);

return -4;

}

printf(” The framebuffer device was mapped to memory sucessfully./n”);

memcpy(inbuf,fbp,screensize);//保存刷屏前显存中的数据

for(i = 0;i<0xff;i++)

{

memset(fbp,i,screensize);

sleep(1);

}

memcpy(fbp,inbuf,screensize);//将保存的显存数据复原回去

munmap(fbp,screensize);

printf(“The framebuffer device was munmaped successfully./n”);

close(fbfd);

printf(“The framebuffer device was closed successfully./n”);

return 0;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136720.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mac sh文件_android获取apk位置

    mac sh文件_android获取apk位置在嵌入百度地图SDK的时候需要配置“发布版SHA1”和“开发版SHA1”,这两个是不一样的。这里是基于mac电脑,开发工具androidstudio.1、首先打开Terminal窗口,会直接定位到当前的目录下。2、获取开发版的sha1,直接输入命令,获取到sha1:keytool-list-v-keystore~/.android/debug…

    2022年8月10日
    6
  • 2.什么是线程间的通信 ?怎么实现线程通信

    2.什么是线程间的通信 ?怎么实现线程通信2.1什么是线程通信以及实现步骤线程间通信的模型有两种:共享内存和消息传递线程通信其实就是,实现线程的交替工作,并传递信息线程间的通信具体步骤:(涉及上中下部)创建资源类,在资源类中船舰属性和操作方法 在资源类操作方法:判断、操作、通知 创建多个线程,调用资源类的操作方法 防止虚拟唤醒问题(if判读,只会判断一次)2.2synchronized案例操作线程的时候,等待线程使用wait()通知另外的线程操作用notify()、notifyAll()假设…

    2022年7月16日
    20
  • ideatomcat日志乱码_tomcat 日志

    ideatomcat日志乱码_tomcat 日志1、tomacat日志有三个地方,分布时Output(控制台)、TomcatLocalhostLog(tomcat本地日志)、TomcatCatalinaLog。启动日志和大部分报错日志、普通日志都在output打印;有些错误日志,在TomcatLocalhostLog。三个日志显示区,都可能出现乱码现象。2、解决方案一:首先,找到本地tomcat的conf目录下的logging.properties,这个文件中有5个编码的位置1)对于控制台output报错的情况,将下图位置

    2022年9月26日
    4
  • validate bootstrap 方法「建议收藏」

    validate bootstrap 方法「建议收藏」文章来自:源码在线https://www.shengli.me/jquery/167.html引入文件:jquery-2.1.0.min.jsbootstrap.min.jsbootstrapValidate.js 

    2022年8月30日
    3
  • ghost备份还原详细步骤_ghost一键备份还原

    ghost备份还原详细步骤_ghost一键备份还原注意点1:整个过程中不可动鼠标,使用键盘和触摸板操作。开始备份或还原后中不要动键盘备份从大白菜系统盘等方法进入GHOST依次进入Local→Partition(分区)→ToImage(到镜像文件)选择备份分区所在磁盘选择分区选择储存分区,写文件名字注意点2:移动备份后的文件极易造成文件的损坏,所以这里的位置一定要选好,之后不要移动位置选择压缩率(一般…

    2025年9月19日
    6
  • 什么是变限积分求导公式_积分上限函数求导法则

    什么是变限积分求导公式_积分上限函数求导法则自己理解:当积分上限为被积函数的自变量时,变限积分在某一点的导数等于被积分函数在这一点的值,就是说积分这一点的增量为被积分函数在这一点的值乘以自变量增量区间大小,求导求出来的就是这一点的导数即为被积分

    2022年8月4日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号