LCD控制实验—孟明明
09计应一班 孟明明 LCD控制实验
#include
#include
#include
#include // open() close()
#include // read() write()
#define DEVICE_NAME "/dev/fb0"
#define VERSION "PXA270RP-LCD-V1.00-090101"
void showversion(void)
{
printf("*********************************************\n");
printf("\t %s \t\n", VERSION);
printf("*********************************************\n\n");
}
//------------------------------------- main ----------------------------------------------------------------
int main(void)
{
int fd;
int ret;
int i;
int j;
int f=0;
int k=0;
unsigned short buf[480][800];
showversion();
printf("\nstart test_lcd test\n\n");
fd = open(DEVICE_NAME, O_RDWR);
printf("fd = %d\n",fd);
if (fd == -1)
{
printf("open device %s error\n",DEVICE_NAME);
}
else
{
for(i=0;i<480;i++){
for(j=0;j<800;j++){
buf[i][j]=0x0001;
}
}
ret=write(fd,buf,sizeof(buf));
usleep(500000);
close(fd);
//----------------------------------------------
while(1){ //设置一个方块中嵌套方块的图片并向四周同时扩散
//也可将循环过程封装成一个函数,进行函数回调,效果会更好!
fd = open(DEVICE_NAME, O_RDWR);
for(i=0;i<480;i++){
for(j=0;j<f;j++){
buf[i][j]=0x0001;
}
}
ret=write(fd,buf,sizeof(buf));
//usleep(500000);
close(fd);
fd = open(DEVICE_NAME, O_RDWR);
for(i=200-f;i<280+f;i++){
for(j=340-k;j<460+k;j++){
buf[i][j]=0xf800;
}
}
for(i=220-f;i<260+f;i++){
for(j=370-k;j<430+k;j++){
buf[i][j]=0x0001;
}
}
for(i=240-f;i<240+f;i++){
for(j=400-k;j<400+k;j++){
buf[i][j]=0xf81f;
}
}
f=f+8;
k=k+12;
ret=write(fd,buf,sizeof(buf));
usleep(100000);
close(fd);
if(f>=200||k>=340){
for(i=0;i<480;i++){
for(j=0;j<800;j++){
buf[i][j]=0x0001;
}
}
f=0;
k=0;
}
}
if(getchar()>0){
system("cat fb >/dev/fb0");
system("cat apl_test/fb >/dev/fb0");
}
}
return 0;
}// end main
阅读(575) | 评论(0) | 转发(0) |
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
#include
#include
#include
#include // open() close()
#include // read() write()
#define DEVICE_NAME "/dev/fb0"
#define VERSION "PXA270RP-LCD-V1.00-090101"
void showversion(void)
{
printf("*********************************************\n");
printf("\t %s \t\n", VERSION);
printf("*********************************************\n\n");
}
//------------------------------------- main ----------------------------------------------------------------
int main(void)
{
int fd;
int ret;
int i;
int j;
int f=0;
int k=0;
unsigned short buf[480][800];
showversion();
printf("\nstart test_lcd test\n\n");
fd = open(DEVICE_NAME, O_RDWR);
printf("fd = %d\n",fd);
if (fd == -1)
{
printf("open device %s error\n",DEVICE_NAME);
}
else
{
for(i=0;i<480;i++){
for(j=0;j<800;j++){
buf[i][j]=0x0001;
}
}
ret=write(fd,buf,sizeof(buf));
usleep(500000);
close(fd);
//----------------------------------------------
while(1){ //设置一个方块中嵌套方块的图片并向四周同时扩散
//也可将循环过程封装成一个函数,进行函数回调,效果会更好!
fd = open(DEVICE_NAME, O_RDWR);
for(i=0;i<480;i++){
for(j=0;j<f;j++){
buf[i][j]=0x0001;
}
}
ret=write(fd,buf,sizeof(buf));
//usleep(500000);
close(fd);
fd = open(DEVICE_NAME, O_RDWR);
for(i=200-f;i<280+f;i++){
for(j=340-k;j<460+k;j++){
buf[i][j]=0xf800;
}
}
for(i=220-f;i<260+f;i++){
for(j=370-k;j<430+k;j++){
buf[i][j]=0x0001;
}
}
for(i=240-f;i<240+f;i++){
for(j=400-k;j<400+k;j++){
buf[i][j]=0xf81f;
}
}
f=f+8;
k=k+12;
ret=write(fd,buf,sizeof(buf));
usleep(100000);
close(fd);
if(f>=200||k>=340){
for(i=0;i<480;i++){
for(j=0;j<800;j++){
buf[i][j]=0x0001;
}
}
f=0;
k=0;
}
}
if(getchar()>0){
system("cat fb >/dev/fb0");
system("cat apl_test/fb >/dev/fb0");
}
}
return 0;
}// end main
相关热门文章
给主人留下些什么吧!~~
评论热议
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通