历史上的今天
今天是:2024年10月09日(星期三)
2021年10月09日 | S3C2440裸机------LCD_抽象出重要结构体
2021-10-09 来源:eefocus
1.lcd.h
我们在lcd.h里面定义一个结构体,用来表示LCD需要的参数。
#ifndef _LCD_H
#define _LCD_H
enum {
NORMAL = 0,
INVERT = 1,
};
/* NORMAL : 正常极性
* INVERT : 反转极性
*/
typedef struct pins_polarity {
int vclk; /* normal: 在下降沿获取数据 */
int rgb; /* normal: 高电平表示1 */
int hsync; /* normal: 高脉冲 */
int vsync; /* normal: 高脉冲 */
}pins_polarity, *p_pins_polarity;
typedef struct time_sequence {
/* 垂直方向 */
int tvp; /* vysnc脉冲宽度 */
int tvb; /* 上边黑框, Vertical Back porch */
int tvf; /* 下边黑框, Vertical Front porch */
/* 水平方向 */
int thp; /* hsync脉冲宽度 */
int thb; /* 左边黑框, Horizontal Back porch */
int thf; /* 右边黑框, Horizontal Front porch */
int vclk;
}time_sequence, *p_time_sequence;
typedef struct lcd_params {
/* 引脚极性 */
pins_polarity pins_pol;
/* 时序 */
time_sequence time_seq;
/* 分辨率, bpp */
int xres;
int yres;
int bpp;
/* framebuffer的地址 */
unsigned int fb_base;
}lcd_params, *p_lcd_params;
#endif /* _LCD_H */
2.lcd_controller.h
#ifndef _LCD_CONTROLLER_H
#define _LCD_CONTROLLER_H
#include "lcd.h"
typedef struct lcd_controller {
void (*init)(p_lcd_params plcdparams);
void (*enable)(void);
void (*disable)(void);
}lcd_controller, *p_lcd_controller;
#endif /* _LCD_CONTROLLER_H */
3.lcd_controller.c
/* 向上: 接收不同LCD的参数
* 向下: 使用这些参数设置对应的LCD控制器
*/
void lcd_controller_init(p_lcd_params plcdparams)
{
/* 调用2440的LCD控制器的初始化函数 */
lcd_controller.init(plcdparams);
}
4.s3c2440_lcd_controller.c
struct lcd_controller s3c2440_lcd_controller = {
.init = xxx,
.enalbe = xxx,
.disable = xxx,
};
史海拾趣
|
PADS 9.0版产品的出现标志着下一代PADS流程技术的诞生。与以往的旧产品相比, PADS 9.0修复和改善了之前版本软件的不足和缺点,集成了许多全新的功能,拥有了更高的可扩展性和集成度,从而使设计者能够结合Mentor Graphics众多独特的创新技术,实现 ...… 查看全部问答> |
|
DIY FPGA初级学习板,核心板已画好,欢迎大家继续提意见! 【背景贴】: “taikai001”俺想学习FPGA--有偿寻求合作开发FPGA学习板https://bbs.eeworld.com.cn/thread-93001-1-1.html 经过和taikai001的几次讨论,准备还是搞个简单点,适合入门的。 目前基本的功能我已经画好了,随后会把原理图发上来 ...… 查看全部问答> |
|
基于WINCE 5.0操作平台,在VC2005 开发MFC智能设备应用软件 在VS2005开发平台下,开发的软件直接通过Microsoft ActiveSync 同步软件下载到2440开发扳上可以运行(通过开发环境) ;单独生成Release版本的,脱离开发环境下载到开发板上就不能运行了. 而使用eVC开发的应用程序就不存在这个问题. &nbs ...… 查看全部问答> |
|
一、移植过程1、架构移植2、SOC移植3、板级移植二、3种移植的区别 1、架构移植:Cortex-A8、MIPS、POWERPC 2、SOC移植 :同一系列,不同型号间的外设(如I2C)的区别 &nbs ...… 查看全部问答> |
|
昨天成功地完成了BBB的上网问题,但是今天发现似乎有更方便的解决方案。 之前配置两张网卡是直接在/etc/network/interfaces中写入配置信息的。这样做当然可以成功,但是有一个问题,就是系统托盘上的NetworkManager就不会再出现和这两张网卡相关的 ...… 查看全部问答> |




