fb_notifier_call_chain(FB_EVENT_FB_REGISTERED, &event);
return 0;
}
六,一次LCD显示的过程
应用程序app: file = open('/dev/fb0',0)
将要显示的图像数据,使用write接口写入,
write->
fb_write->
// 如果lcd驱动的fbops中存在write函数,则使用lcd驱动中的数据
if (info->fbops->fb_write)
return info->fbops->fb_write(info, buf, count, ppos);
否则使用fb_write写到显存中
产生一个LCD中断,进入中断处理函数
static irqreturn_t s3c2410fb_irq(int irq, void *dev_id)
{
struct s3c2410fb_info *fbi = dev_id;
unsigned long lcdirq = readl(S3C2410_LCDINTPND);
if (lcdirq & S3C2410_LCDINT_FRSYNC) {
if (fbi->palette_ready)
s3c2410fb_write_palette(fbi);
// 控制LCD控制器开始从显存中取数据传输到LCD屏,显示图像
writel(S3C2410_LCDINT_FRSYNC, S3C2410_LCDINTPND);
writel(S3C2410_LCDINT_FRSYNC, S3C2410_LCDSRCPND);
}
return IRQ_HANDLED;
}
static struct fb_ops s3c2410fb_ops = {
.owner = THIS_MODULE,
.fb_check_var = s3c2410fb_check_var,
.fb_set_par = s3c2410fb_set_par,
.fb_blank = s3c2410fb_blank,
.fb_setcolreg = s3c2410fb_setcolreg,
.fb_fillrect = cfb_fillrect,
.fb_copyarea = cfb_copyarea,
.fb_imageblit = cfb_imageblit,
};
上一篇:s3c2440裸机-时钟编程-1-2440时钟体系介绍
下一篇:《Linux驱动:s3c2440 lcd 驱动分析》
推荐阅读最新更新时间:2026-03-06 16:26
- 使用 ROHM Semiconductor 的 BA70BC0WFP-E2 的参考设计
- DC735A、LTC4063EDD 演示板、具有 LDO 稳压器的锂离子线性电池充电器,Vin = 4.3V-8V,BAT = 4.2V,0.5V/1A,LDO 输出 = 3V,100mA
- OP184FSZ输出过载恢复运放测试电路典型应用
- 使用 ADA4077-2ARMZ-R7 双电源高精度放大器的典型应用电路,用于低功耗线性化 RTD 电路
- 用于便携式的 5V DC 到 DC 单输出电源
- NR110K轻载高效31V降压稳压器典型应用电路
- Dream Maker 3D打印机主板参考原理图
- 采用 CAN 离散 SBC 的汽车预降压、后升压参考设计
- ADR392A 4.096 Vout 微功率、低噪声精密电压基准的典型应用
- MCP1703 250 mA、16V、低静态电流 LDO 稳压器的典型应用



stm32驱动屏IC rm68042
电机驱动教程
非常经典的关于LLC的杨波博士论文
XC6406PP60DL






京公网安备 11010802033920号