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透明度参数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395489.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android引入开源库_为好目录引入开源:通过代码帮助公益组织

android引入开源库by Michael D. Johnson迈克尔约翰逊(Michael D.Johnson) 为好目录引入开源&#xff1a;通过代码帮助公益组织 (Introducing the Open Source for Good Directory: Help Nonprofits with Code) A few months ago, we asked 20,000 people why they were learn…

第二阶段站立会议08

站立会议内容&#xff1a; 大家准备继续将代码进行融合&#xff0c;进行测试对一些功能进行优化。 1、会议照片&#xff1a; 2、任务展板&#xff1a; 3、燃尽图&#xff1a; 转载于:https://www.cnblogs.com/smcoder/p/7002539.html

ionic view 视图

ionic view 方法 $ionicView.loaded视图已经被加载了。这事件只发生一次当视图被创建并添加到Dom中。当跳出页面并且被缓存了的话&#xff0c;再次访问这个页面时这个时间将不会被激活。Loaded事件是个好方式让你为这个视图设置你的代码&#xff1b; 然而&#xff0c;他并不是…

ios开发 mvp实践_实践中开发人员的工作流程-我们如何在30天内建立​​MVP

ios开发 mvp实践by Lna Faure莱娜福雷(LnaFaure) 实践中开发人员的工作流程-我们如何在30天内建立​​MVP (The developer’s workflow in practice — how we built our MVP in 30 days) As a web developer, I often get to start projects from scratch and make decisions…

linux智能电压表设计与实现,毕业论文 智能数字电压表设计.doc

毕业论文毕业论文智能数字电压表设计智能数字电压表设计- PAGE I -摘要随着微电子技术和计算机技术的迅速发展&#xff0c;特别是单片机的出现和发展&#xff0c;使传统的电子测量仪器在原理、功能、精度及自动化水平等方面发生了巨大的变化&#xff0c;形成一种新一代的测量仪…

git——学习笔记(三)分支管理

一、创建、合并分支 每次提交&#xff0c;git都往后走一格&#xff0c;串成一跳时间线&#xff0c;head指向的是分支&#xff0c;分支指向提交。master是主分支&#xff0c;dev是另一条分支&#xff0c;分支就像指针一样&#xff0c;合并、删除分支时&#xff0c;修改的都是指针…

Redis 它是什么?它用来做什么?它的优势与短板如何?

阅读目的&#xff1a; 对什么是内存型数据库有概念性的认知。?Redis 是什么&#xff1f; 通常而言目前的数据库分类有几种&#xff0c;包括 SQL/NSQL,&#xff0c;关系数据库&#xff0c;键值数据库等等 等&#xff0c;分类的标准也不以&#xff0c;Redis本质上也是一种键值…

阿里巴巴是如何打通 CMDB,实现就近访问的?

CMDB在企业中&#xff0c;一般用于存放与机器设备、应用、服务等相关的元数据。当企业的机器及应用达到一定规模后就需要这样一个系统来存储和管理它们的元数据。有一些广泛使用的属性&#xff0c;例如机器的IP、主机名、机房、应用、region等&#xff0c;这些数据一般会在机器…

我们分析了成千上万的编程访谈。 这就是我们学到的东西。

by Aline Lerner通过艾琳勒纳(Aline Lerner) 我们分析了成千上万的编程访谈。 这就是我们学到的东西。 (We analyzed thousands of coding interviews. Here’s what we learned.) Note: I wrote most of the words in this post, but the legendary Dave Holtz did the heavy…

Java 9 新功能之 HTTP2 和 REPL

对Java 9的炒作将不再局限于模块化&#xff08;modularity&#xff09;&#xff0c;Java 9正在搜罗大量额外的功能模块&#xff0c;这些功能模块正作为Java增强提案&#xff08;JEP&#xff09;提交&#xff0c;并在OpenJDK (Java SE的参考实现项目&#xff09;中实现。 在这篇…

c语言编译程序首要工作,c语言试卷

c语言试卷一、选择题(每小题1分&#xff0c;共40分)。(以下A、B、C、D四个选项中只有一个是正确的。)1&#xff0e;一个C语言程序是由()。A&#xff0e;一个主程序和若干子程序组成B&#xff0e;函数C&#xff0e;若干过程组成D&#xff0e;若干子程序组成2&#xff0e;C语言源…

Mac通过wifi连接 Android设备

公司用的全是mac开发&#xff0c;但是全是type-C接口&#xff0c;每次背电脑回家啊&#xff0c;还得带个数据线转换器…… 想着回来&#xff0c;直接通过Wi-Fi连接手机就好&#xff0c;发现完全忘了之前套路&#xff0c;现在赶紧记下一波&#xff0c;保证包教包会&#xff01; …

贝叶斯统计推断_统计推断对决:频繁主义者与贝叶斯主义者

贝叶斯统计推断by Kirill Dubovikov通过基里尔杜博维科夫(Kirill Dubovikov) 统计推断对决&#xff1a;频繁主义者与贝叶斯主义者 (Statistical Inference Showdown: The Frequentists VS The Bayesians) 推理 (Inference) Statistical Inference is a very important topic t…

iOS之由身份证号返回性别

该博文出自&#xff1a;http://www.cnblogs.com/yang-guang-girl/p/5683454.html - (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.NSString *sex[self sexStrFromIdentityCard:"139876456767892345"];NSLog("--s…

c语言程序设计k.r,【答题】C语言程序设计问题与解释实验

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#define N 13main(){int y,m,D,q,t0,i,day0,a0,Day,n,k,O[N]{0,31,29,31,30,31,30,31,31,30,31,30,31},p[N]{0,31,28,31,30,31,30,31,31,30,31,30,31};//y是年&#xff0c;m是月&#xff0c;D是日&#xff0c;q计算周几&am…

运维命令

1 文件管理2 软件管理3 系统管理4 服务管理5 网络管理6 磁盘管理7 用户管理8 脚本相关9 服务配置----------------------------------1 文件管理----------------------------------创建空白文件touch不提示删除非空目录rm -rf 目录名(-r:递归删除-f 强制)####################…

[原创]K8_C段旁注工具6.0 新增SMB漏洞扫描

工具: K8_C段旁注工具6.0_0510[K.8]编译: 自己查壳组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http://qqhack8.blog.163.com发布: 2017/5/24 13:25:54简介: 图片: 功能: 更新历史:6.0 20170510[] C段SMB漏洞扫描(探测系统版本)[] 批量操作-文本比较提取新增内容[] 旁注查…

qt creator 快捷键

http://www.cnblogs.com/jingzhishen/p/4067657.html转载于:https://www.cnblogs.com/chencesc/p/5733858.html

栈的C语言案例,堆栈实例代码(C语言)

堆栈实例代码(C语言)如下所示&#xff1a;#include int MAXSIZE 8;int stack[8];int top -1;int isempty() {if(top -1)return 1;elsereturn 0;}int isfull() {if(top MAXSIZE)return 1;elsereturn 0;}int peek() {return stack[top];}int pop() {int data;if(!isempty()) …

从vue迁移到react_从AngularJS迁移到React-您如何衡量性能提升?

从vue迁移到reactby Gupta Garuda通过古普塔歌鲁达(Gupta Garuda) 从AngularJS迁移到React-您如何衡量性能提升&#xff1f; (Migrating from AngularJS to React — how do you measure your performance gains?) Are you looking into migrating a large AngularJS single …