摘要: 看下面的代码,你会发现韦老师这种组织与内核框架的组织是一脉相承的。 led.c led_4.3.c led_controller.c s3c2440_lcd_controller.c 阅读全文
posted @ 2019-08-12 20:46 一代枭雄 阅读(388) 评论(0) 推荐(0)
摘要: CLKVAL : VCLK = HCLK / [(CLKVAL+1) x 2] > CLKVAL = HCLK/VCLK/2-1 在这个地方HCLK=100M,那么VLCK等于多少呢?需要打开lcd的芯片手册 从中可以看出,5<= vclk<=12,正常情况是取9. 当VCLK =9 时,CLKVA 阅读全文
posted @ 2019-08-11 17:18 一代枭雄 阅读(1233) 评论(0) 推荐(0)
摘要: 根据上篇博客中的框架,需要编写这些文件: 首先看一下led.h中,都有什么? 2)lcd_4.3.c 3)lcd_controller.h 4)lcd_controller.c 5)s3c2440_lcd_controller.c 阅读全文
posted @ 2019-08-11 11:49 一代枭雄 阅读(430) 评论(0) 推荐(0)
摘要: lcd程序框架: 为了让程序更好的扩展,介绍面向对象编程: 比如抽象出lcd_3.5和lcd_4.3的共同点: 当我想使用3.5寸的lcd时,只需让lo指向lcd_3.5_opr即可。同样,当我想使用4.3寸的lcd时,只需让lo指向lcd_4.3_opr. 还可以进一步封装 使用者可以不接触lcd 阅读全文
posted @ 2019-08-10 22:35 一代枭雄 阅读(334) 评论(0) 推荐(0)
摘要: 1、LCD控制器主要有两方面的功能: 1)从framebuffer中取出某个像素的数据; 2)配合其他信号,一起将这个数据发送给LCD 不管是2440,还是其他型号的ARM芯片。它们的LCD控制器的功能都是一样的,只不过存储器的操作稍有区别。 LCDDMA:会从内存中把数据取出来,发送给LCD。 D 阅读全文
posted @ 2019-08-10 21:05 一代枭雄 阅读(691) 评论(0) 推荐(0)
摘要: 想象一下,屏幕的后面有一个电子枪,电子枪位于某个像素的背后,然后向这个像素发射红绿蓝三原色,从而就可以组成任意一种颜色。简单的说,电子枪在像素的背后一边移动,一边向像素发射红绿蓝。 如果要编写出LCD的驱动程序,首先要搞清楚下面的几个问题: 1)电子枪如何移动 2)颜色如何确定 3)电子枪如何得知应 阅读全文
posted @ 2019-08-10 14:57 一代枭雄 阅读(829) 评论(0) 推荐(0)
摘要: 11 阅读全文
posted @ 2019-08-09 23:04 一代枭雄 阅读(311) 评论(0) 推荐(0)
摘要: 应该通过什么方法来获得多点触摸屏的数据呢? 控制IC与cpu一般来说是通过I2C或者SPI接口来连接。cpu如何得知控制IC有了数据呢?这个地方是通过中断来实现的。当发生中断以后,驱动程序就可以通过I2C或SPI总线来读取控制IC,获取电容屏的数据。因此这个驱动程序应该是I2C驱动程序与输入子系统的 阅读全文
posted @ 2019-08-09 21:56 一代枭雄 阅读(709) 评论(0) 推荐(0)
摘要: 上面博客中讲解了电阻屏触摸屏的驱动程序,它是一个单点触摸的设备。现在大多数设备都支持了多点触摸,多点触摸的好处: 1)利用两个手指可以放大或缩小图片; 2)在一个触摸屏上,可以同时供多人使用; 在上述这两个简单的例子中,单点触摸就无法实现。必须使用多点触摸,顾名思义多点触摸就是在同一时间内,屏幕上可 阅读全文
posted @ 2019-08-02 22:57 一代枭雄 阅读(2618) 评论(0) 推荐(0)
摘要: C++中的布尔类型 ——C++在C语言的基本类型系统之上增加了bool ——C++中的bool可取的值只有true和false ——理论上bool只占用一个字节 注意: true代表真值,编译器内部用1表示 false代表非真值,编译器内部用0表示 bool类型只有true(非0)和false(0) 阅读全文
posted @ 2019-08-01 23:01 一代枭雄 阅读(429) 评论(0) 推荐(0)