打印

mmap lcd的问题

[复制链接]
1260|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

粉丝