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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • @component使用案例

    @component使用案例

    2021年7月19日
    71
  • MySQL数据库:分区Partition

    MySQL数据库:分区Partition

    2021年4月9日
    164
  • docker 离线安装_Docker安装

    docker 离线安装_Docker安装一.上传docker-offline-installer.tar并解压缩(1)tar-xvfdocker-offline-installer.tar如果在网上找不到docker-offline-installer.tar,可以在我的CSDN中点击[资源]去下载二.配置yum源(1)进入工作目录:cd/etc/yum.repos.d/(2)备份现有库源:mkdirrepo&&mv*.reporepo/…

    2022年9月26日
    5
  • PHP declare 之 strict_types=1

    PHP declare 之 strict_types=1

    2021年10月30日
    87
  • 在线css三角形生成器 「干货」[通俗易懂]

    在线css三角形生成器 「干货」[通俗易懂]为了提高前端开发效率,笔者先后写了上百个前端工具,有些是给公司内部使用的,有些单纯是因为自己太“懒”,不想写代码,所以才“被迫”做的.接下来介绍的一款工具——css三角形生成器也是因为之前想要解放设计师的生产力,自己又懒得切图或者写css代码,所以想来想去还是自己做一个能自动生成css三角形代码的工具吧.接下来笔者就来带大家介绍一下这个工具的用途和实现方案,方便大家后续可以扩展出更多的“懒人工具”.在线css三角形生成器预览由预览动画我们可以看到通过在线工具我们可以轻松配置..

    2025年6月15日
    4
  • activity跳转activity不销毁

    activity跳转activity不销毁最近在做菜单,有三个界面分别用activity来显示,如ActivityA -> ActivityB -> ActivityC,返回键ActivityC -> ActivityB -> ActivityA,当从A进入到B时按返回键无法退到A,是因为在A进入B时用了finish()方法,把A给销毁了,如下:finish();IntentaToB=newI

    2022年5月22日
    47

发表回复

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

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