23,121
社区成员
发帖
与我相关
我的任务
分享
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/fb.h>
#include <sys/mman.h>
#ifndef FBIO_WAITFOVSYNC
#define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32)
#endif
int main(int argc, char* argv[])
{
int fbfd = 0;
struct fb_var_screeninfo vinfo;
fbfd = open("/dev/fb0", O_RDWR);
if (!fbfd)
{
printf("Error: cannot open framebuffer device.\n");
return 1;
}
printf("The framebuffer device was opened successfully.\n");
if (ioctl(fbfd, FBIOGET_VSCREENINFO, &vinfo))
printf("Error reading variable information.\n");
if (ioctl(fbfd, FBIO_WAITFORVSYNC, 0))
printf("VSync failed.\n");
vinfo.yoffset = vinfo.yres;
if (ioctl(fbfd, FBIOPAN_DISPLAY, &vinfo))
printf("VSync failed.\n");
close(fbfd).
}