linux下如何实现简单刷屏
来源:互联网 发布:禾川plc编程软件下载 编辑:程序博客网 时间:2024/04/30 12:12
今天为了测试我的LCD有没有坏点写了一个简单的刷屏程序,效果还不错,分析给大家。代码如下:
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <linux/fb.h>
#include <sys/mman.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
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;
}
- linux下如何实现简单刷屏
- LINUX下如何实现滚屏查看
- Linux下简单ftp实现
- linux下实现简单FTP
- Linux下实现简单进度条
- linux下实现简单进度条
- Linux下简单进度条实现
- linux下APACHE如何简单的配置
- linux 下 cp的简单实现
- linux下sniffer的简单实现
- 简单文件操作(Linux下C++实现)
- Linux下C语言实现简单Shell
- Linux下简单线程池的实现
- 简单三步,实现LINUX 下虚拟光驱
- linux下简单的timer实现
- 简单实现linux下的循环进度条
- Linux下ls命令的简单实现
- linux下内核多线程的简单实现
- 用VC2005编译非VC工程
- apache tomcat 的配置
- PYTHON中对列表list求交集
- The Safest Investment 最安全的投资
- Android Sensors Development
- linux下如何实现简单刷屏
- PCI设备配置空间问题
- Paxos算法
- 透过HAL(硬件抽象层)看顶层API是如何访问硬件
- Android中G-Sensor相关流程
- 哈尔滨工业大学—仪器科学与技术考研专业课
- linux延时函数
- Dell(D630)外置麦克风卡拉OK设置
- ch4_drill