arm linux输出到lcd,求助 armlinux中实现lcd显示
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
/* for (bufIdx=0; bufIdx < NUM_DISPLAY_BUFS-1; bufIdx++) {
fbp[bufIdx+1] = fbp[bufIdx] + displaySize;
}*/
for(bufIdx=0;bufIdx
{
buf=(unsigned int *)fbp;
for (i=0; i < displaySize / sizeof(unsigned int); i++) {
buf[i] = UYVY_BLACK;
}
}
//pix=calloc(screensize,1);
yuv=fopen(FILE_YUV,"rb");
//displayIdx = (displayIdx + 1) % NUM_DISPLAY_BUFS;
fread(fbp,displaySize,1,yuv);
//fbp[displayIdx]=pix[displayIdx];
// for(j=0;j
//{fbp[j]=pix[j];}
//memset(fbp,yuv,screensize);
munmap(fbp, screensize);//ÉŸ³ýÌضšµØÖ·ÇøÓòµÄ¶ÔÏóÓ³Éä int munmap(void *start, size_t length); printf("The framebuffer device was munmapped to memory successfully.\n");
close(fbfd);
printf("The framebuffer device was closed successfully.\n");
return 0;
}
//static int osdInit(char *displays)
void osdInit(void)
{
struct fb_var_screeninfo varInfo;
struct fb_fix_screeninfo fixInfo;
int fd;
int size=0;
char * displays;
// Open the OSD device
fd = open("/dev/fb/0", O_RDWR);
printf("123456\n");
if (fd == -1) {
printf("Failed to open fb device %s\n", "/dev/fb/0");
}
if (ioctl(fd, FBIOGET_VSCREENINFO, &varInfo) == -1) {
printf("Failed ioctl FBIOGET_VSCREENINFO on %s\n","/dev/fb/0" );
}
if (ioctl(fd, FBIOGET_FSCREENINFO, &fixInfo) == -1) {
printf("Failed FBIOGET_FSCREENINFO on \n");
} // Try the requested size
varInfo.xres =720; ///WIDTH=720
varInfo.yres =576; ///HEIGHT=480 全屏显示
// varInfo.xres_virtual =720;
// varInfo.yres_virtual =1728;
varInfo.bits_per_pixel = 16; //=2,,,,,16位的显示屏SCREEN_BPP=16 if (ioctl(fd, FBIOPUT_VSCREENINFO, &varInfo) == -1) {
printf("Failed ioctl FBIOPUT_VSCREENINFO on %s\n", "/dev/fb/0");
} if (varInfo.xres !=720 ||
varInfo.yres !=576 ||
varInfo.bits_per_pixel != 16) {
printf("Failed to get the requested screen size: at bpp\n");
}
size = fixInfo.line_length * varInfo.yres_virtual;
printf("size=%d\n",size);
// Map the frame buffers to user space
displays= (char *) mmap(NULL, size ,
PROT_READ | PROT_WRITE,
MAP_SHARED, fd, 0); if (displays == MAP_FAILED) {
printf("Failed mmap on %s\n", "/dev/fb/0");
}
memset(displays,0,size);
//setOsdBuffer(fd, 0); } static int setOsdTransparency(unsigned char trans) //trans的值是0,设置OSD透明度参数
arm linux输出到lcd,求助 armlinux中实现lcd显示相关推荐
- linux lcd显示流程,求助 armlinux中实现lcd显示
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* for (bufIdx=0; bufIdx < NUM_DISPLAY_BUFS-1; bufIdx++) { fbp[bufIdx+1] = ...
- arm linux嵌入式网络控制系统,基于ARMLinux的嵌入式网络控制系统的研究与设计
摘要: 随着计算机技术.控制技术和网络技术的蓬勃发展,嵌入式系统与网络控制系统的应用越来越广阔.当前控制系统正经历一场前所未有的变革,远程监控和智能控制成为控制系统发展的重要方向.通过嵌入式网络控制系 ...
- arm linux应用调用rtc接口,ARMLinux驱动RTC(实时时钟)驱动分析
硬件平台:FL2440(S3C2440) 内核版本:Linux 2.6.28本文引用地址:http://www.eepw.com.cn/article/201611/317629.htm 主机平台:U ...
- 解决linux下oracle进入sqlplus环境中后退键显示^H、上下键无效与ctrl+l无法清屏等问题【weber出品必属精品】...
习惯linux中上下键回退历史输入的人们肯定也希望sqlplus中也能实现相同的效果,可是不幸的是,sqlplus中不提供诸多方便的快捷键,这个时候我们就需要另外安装一个插件来实现这个想法. 这个插件 ...
- html中显示shell脚本的输出,网页从shell脚本中输入并显示结果
首先,不是在BASH脚本中使用$USERNAME. $USERNAME是一个包含当前用户名的BASH变量.实际上,在BASH中使用UPPERCASE变量通常是一个糟糕的主意.大多数BASH环境变量都是 ...
- 第三十四期-ARM Linux内核的中断(4)
作者:罗宇哲,中国科学院软件研究所智能软件研究中心 上一期中我们介绍了ARM Linux内核中外设中断处理的部分流程,这一期我们将继续介绍ARM Linux内核的外设中断处理流程中与中断描述符相关的部 ...
- 【Qt开发】【VS开发】【Linux开发】OpenCV、Qt-MinGw、Qt-msvc、VS2010、VS2015、Ubuntu Linux、ARM Linux中几个特别容易混淆的内容...
[Qt开发][VS开发][Linux开发]OpenCV.Qt-MinGw.Qt-msvc.VS2010.VS2015.Ubuntu Linux.ARM Linux中几个特别容易混淆的内容 标签:[Qt ...
- 建立arm linux运行环境,构建 arm-linux 仿真运行环境 (skyeye + arm-linux + NFS)
一 前言 本文旨在将 arm-linux 在 skyeye 上搭建起来,并在 arm-linux 上能成功 mount NFS 为目标, 最终我们能在 arm-linux 里运行我们自己的应用程序. ...
- linux 混音处理 arm,alsa移植到arm linux嵌入式系统中
1 alsa-lib的移植 1.1 软件包下载 alsa-lib库:进入网站http://www.alsa-project.org/选择下载,在这里下载的是alsa-lib-1.0.22.tar. ...
最新文章
- 计算机组成原理知识点概叙
- python数据库有什么特点_python进阶十——mysql初识
- Spring Cloud Alibaba:Sentinel实现熔断与限流
- 【逆水寒三周年】大型MMO项目UI管理的价值与责任
- 使用Spring Boot和Vue进行有益的开发
- LeetCode MySQL 626. 换座位
- bigdecimal 保留两位小数_openpyxl修改单元格格式(隐藏小数、设定百分数位数)...
- Android图片加载之初步认识bitmap
- Eclipse用法和技巧十七:覆盖父类方法
- python mmap_python标准库基础之mmap:内存映射文件
- 使用python进行数学建模系列1 读表格 +简单处理+ 画图简单入门 代码可直接运行
- pikachu逻辑漏洞实验
- [离散数学]集合论基础P_4:运算定律及其证明
- sed 替换字符串以变量形式
- 如何在手机设置中打开位置定位服务器,手机gps定位功能如何设置
- 人纪--针灸---------12.7开始
- SpringBoot+WebSocket问题:Failed to register @ServerEndpoint class
- iPhone 13关闭个性化广告该怎么关 关闭个性化广告教程一览
- python 将pcm编码文件转化为wav音频文件
- *SAS语言结构**
热门文章
- python zipfile模块学习笔记(一)
- 利用BAT脚本加入域和退出域的代码
- 产品经理与交互设计师的对话——需求是如何变成产品原型的(转)
- Windows Workflow HOL学习笔记(十二):创建状态基工作流
- 学编程决不可心浮气燥(转)
- 5-5 常用系统接口
- matlab如何判断一个文件夹里面是否包含某个含有部分文件名的文件_如何构建一个成功的AI PoC(概念验证项目)...
- 拔染印花的主要特点和工艺技术
- Windows Azure Cloud Service (8) Role及其生命周期模型
- CS 540: Introduction to Artificial Intelligence