模块化思想——粤嵌GEC6818读取图片宽度、高度、色深

简介: 模块化思想——粤嵌GEC6818读取图片宽度、高度、色深
  • 模块化思想
    交叉编译两个c文件的方法:

模块化思想:

。。。
只有一个唯一的main函数‘
一个或者多个功能函数 
main.c
lcd.c   lcd.h
bmp.c   bmp.h
led.c   led.h
beef.c   beef.h
.....



.h怎么写? 
例:led.h

#ifndef  __LED_H__
#define  __LED_H__


// 变量的定义 
// 函数的声明

//。。。

#endif



功能函数: 封装一个函数 
/*
  功能函数:对一个坐标点为(x,y)的像素点上色。
  参数: 
    @x : 像素点的X轴坐标值
    @y :像素点的Y轴坐标值
    @color : 要画的颜色
*/
void draw_point (  int x, int y, int color )
{
  if(x>=0 && x<800 && y>=0 && y<480)
  *(p + 800*y +x ) = 0x00ff0000 ;//p定义成全局变量
}
//lcd.h
#ifndef __LCD_H__
#define __LCD_H__


#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>


extern int *p ;

void init() ;
void end();





#endif
//lcd.c
#include "lcd.h"
int fd = 0;
void init() 
{
  fd = open("/dev/fb0",O_RDWR);
  if(fd==-1)
  {
    perror("open error\n");
    return ;
  }
  
  p = mmap (NULL,800*480*4 ,PROT_READ | PROT_WRITE ,MAP_SHARED , fd , 0);
  if(p == MAP_FAILED)
  {
    perror("mmap error\n");
    return ;
  }
}
void end()
{
  close(fd);
  munmap(p,800*480*4);
}
//main.c
#include "lcd.h"
#include "bmp.h"
int main()
{ 
  //init();//打开帧缓冲 映射
   bmp_inf("./1.bmp");
  //end();//关闭帧缓冲设备文件 解除映射
}
相关文章
|
安全 Windows
windows11 永久关闭windows defender的方法
windows11 永久关闭windows defender的方法
2608 2
|
开发工具 git
project is registered as a Git root, but no Git repositories were found there
报错如下 我一开始想把项目推到git,但是发现右键没有git选项。于是我去搜为什么右键没git选项。给出的答案就是在版本控制中添加。 上图这个我添加的本身就是一个git项目,所以没有出现问题,但是如果本身项目还没有关联远程仓库的话,这样搞是会出现问题。
1091 0
project is registered as a Git root, but no Git repositories were found there
|
移动开发 小程序
仿青藤之恋社交交友软件系统源码 即时通讯 聊天 微信小程序 App H5三端通用
仿青藤之恋社交交友软件系统源码 即时通讯 聊天 微信小程序 App H5三端通用
1040 3
fastadmin中Validate和validate的区别
fastadmin中Validate和validate的区别
359 0
|
弹性计算 安全 Linux
操作系统智能助手OS Copilot体验评测
从了解到部署实践全方位带你体验操作系统智能助手OS Copilot的优与劣。
17023 8
操作系统智能助手OS Copilot体验评测
|
存储 数据中心 Docker
Docker如何实现资源隔离?
Docker如何实现资源隔离?
300 1
|
移动开发 定位技术 HTML5
HTML5的新语义化标签
HTML5的新语义化标签
408 0
论多段图的最短路径问题(我认为本质上还是暴力枚举法)
本文讨论了多段图最短路径问题的解决方法,认为本质上是使用暴力枚举法,通过逐步计算每个阶段点的最短距离来确定从起点到终点的最短路径。
222 2
论多段图的最短路径问题(我认为本质上还是暴力枚举法)
|
传感器 存储 供应链
plant simulation物流系统仿真案例
plant simulation物流系统仿真案例
800 0
|
弹性计算 Ubuntu 安全
阿里云服务器公共镜像、自定义镜像、共享镜像、云市场镜区别及选择参考
在我们购买阿里云服务器时,云服务器的操作系统指的是镜像,它为云服务器实例提供操作系统、初始化应用数据、预装的软件,通过镜像可以创建并部署云服务器实例,在选择时有公共镜像、自定义镜像、共享镜像、云市场镜、社区镜像这5中镜像可选,有的新手用户朋友并不知道它们有什么区别,可能不知道应该如何选择,本文就来介绍一下它们之间的区别及选择建议。
阿里云服务器公共镜像、自定义镜像、共享镜像、云市场镜区别及选择参考

热门文章

最新文章