mmap lcd的问题

[复制链接]
 楼主| dfsa 发表于 2010-7-27 21:24 | 显示全部楼层 |阅读模式
下面代码想实现让屏幕变黑
#include <stdio.h>
#include <fcntl.h>  
#include <sys/mman.h>
int main(void)
{
    unsigned long  *buffer;
int fd,;
fd = open("/dev/video0", O_RDWR);
if (fd == -1)
{
  printf("Cannot open video0!\n");
  exit(0);
}
buffer = mmap(NULL, (480 *240) , PROT_READ|PROT_WRITE,0,fd,0);
if(buffer==-1)
{
  printf("Cannot map memory!\n");
     exit(0);
}
memset(buffer,0,480*240);
sleep(3);
close(fd);
return 0;
}
程序运行结果:Cannot map memory!
用errno查看是错误22 mmap参数错误。。。哪里错了呢?我用的是w90p710..
gxgclg 发表于 2010-7-27 21:53 | 显示全部楼层
buffer = mmap(NULL, (480 *240) , PROT_READ,MAP_PRIVATE,fd,0);
试试看看
gxgclg 发表于 2010-7-27 21:53 | 显示全部楼层
如果你知道你的frambuffer的地址的话,直接写这个地址得了,反正uclinux没有虚拟地址。
hsbjb 发表于 2010-7-28 07:43 | 显示全部楼层
按照楼上的方法应该是可以纠正你的错误的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部