摘要: 成鹏致远 | 2013年12月31日什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。 Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。 Java.io是大多数面向数据流的输入/输出类的主要软件包。此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO。 流IO的好处是简单易用,缺点是效率较低。块IO效率很高,但编程比较复杂。Java IO模型 Java的IO模型设计非常优... 阅读全文
posted @ 2013-12-31 21:58 Leo.cheng 阅读(2726) 评论(0) 推荐(0) 编辑
摘要: TClientDataSet的基本属性和方法 TClientDataSet控件继承自TDataSet,其数据存储文件格式扩展名为 .cds/.xml,是基于文件型数据存储和操作的控件。 该控件封装了对数据进行操作处理的接口和功能,而本身并不依赖其它数据库驱动程序,基本上能满足单机"瘦"数据库应用程序的需要。FieldDefs: 字段定义列表属性 可通过单击属性编辑器中的属性编辑按钮,或在该控件上单击右键选择弹出菜单中的"Fields Editor"菜单进行字段编辑。设置完此属性后,实际上就相当于定义了表的结构; 如果想装入已有的数据表的结构和数据,可通过 阅读全文
posted @ 2013-12-29 20:39 Leo.cheng 阅读(4577) 评论(0) 推荐(0) 编辑
摘要: Gesturedetector Android Touch Screen 与传统Click Touch Screen不同,会有一些手势(Gesture),例如Fling,Scroll等等。 这些Gesture会使用户体验大大提升。Android中的Gesture识别(detector)是通过Ge... 阅读全文
posted @ 2013-12-19 19:59 Leo.cheng 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 架构模式 如何设计一个程序的结构,这是一门专门的学问,叫做"架构模式"(architectural pattern),属于编程的方法论。 MVC模式就是架构模式的一种,它不仅适用于开发软件,也适用于其他广泛的设计和组织工作。MVC模式 MVC是三个单词的首字母缩写,它们是Model(模型)、V... 阅读全文
posted @ 2013-11-12 16:01 Leo.cheng 阅读(383) 评论(0) 推荐(0) 编辑
摘要: Intent 的作用 Intent 是一个将要执行的动作的抽象的描述,一般来说是作为参数来使用,由Intent来协助完成android各个组件之间的通讯。 比如说调用startActivity()来启动一个activity,或者由broadcaseIntent()来传递给所有感兴趣的BroadcaseReceiver, 再或者由startService()/bindservice()来启动一个后台的service。所以可以看出来,intent主要是用来启动其他的activity 或者service,所以可以将intent理解成activity之间的粘合剂。Intent的构成 要在不同的a... 阅读全文
posted @ 2013-11-12 13:32 Leo.cheng 阅读(559) 评论(0) 推荐(0) 编辑
摘要: UPnP简介 通用即插即用(英语:Universal Plug and Play,简称UPnP)是由“通用即插即用论坛”(UPnP™ Forum)推广的一套网络协议。 该协议的目标是使家庭网络(数据共享、通信和娱乐)和公司网络中的各种设备能够相互无缝连接,并简化相关网络的实现。 UPnP通过定义和发布基于开放、因特网通讯网协议标准的UPnP设备控制协议来实现这一目标。 UPnP这个概念是从即插即用(Plug-and-play)派生而来的,即插即用是一种热拔插技术。 UPnP体系允许 PC 间的点对点连接、网际互连和无线设备。它是一种基于TCP/IP、UDP和HTTP的分布式、开放体系... 阅读全文
posted @ 2013-11-10 15:38 Leo.cheng 阅读(4426) 评论(0) 推荐(2) 编辑
摘要: 三大核心类 android的消息处理有三个核心类:Looper,Handler和Message。 其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了Looper Looper的字面意思是“循环者”,它被设计用来使一个普通线程变成Looper线程。 所谓Lo... 阅读全文
posted @ 2013-11-03 21:11 Leo.cheng 阅读(701) 评论(0) 推荐(0) 编辑
摘要: Android sensor构建 Android4.1系统内置对传感器的支持达13种,他们分别是:加速度传感器(accelerometer)、磁力传感器(magnetic field)、方向传感器(orientation)、陀螺仪(gyroscope)、环境光照传感器(light)、压力传感器(p... 阅读全文
posted @ 2013-11-01 21:30 Leo.cheng 阅读(8257) 评论(0) 推荐(2) 编辑
摘要: Sensor整体架构 整体架构说明黄色部分表示硬件,它要挂在I2C总线上红色部分表示驱动,驱动注册到Kernel的Input Subsystem上,然后通过Event Device把Sensor数据传到HAL层,准确说是HAL从Event读绿色部分表示动态库,它封装了整个Sensor的IPC机制,... 阅读全文
posted @ 2013-11-01 21:04 Leo.cheng 阅读(14718) 评论(0) 推荐(0) 编辑
摘要: 流媒体 流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传送到网络上。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。 这个过程的一系列相关的包称为“流”。流媒体实际指的是一种新的媒体传送方式,而非一种新的媒体。 流媒体技术全面应用后,人们在网上聊天可直接语音输入;如果想彼此看见对方的容貌、表情,只要双方各有一个摄像头就可以了;在网上看到感兴趣的商品,点击以后,讲解员和商品的影像就会跳出来;更有真实感的影像新闻也会出现。 流媒体技术发端于美国,在美国目前流媒体的应用已很普遍,比如惠普公司的产品发布和销售人员培训都用网络视频进行。 所谓流媒体... 阅读全文
posted @ 2013-10-30 18:43 Leo.cheng 阅读(5084) 评论(0) 推荐(1) 编辑
摘要: GitHub GitHub是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。 对于一般人来说公共仓库就已经足够了,而且我们也没多少代码来管理,O(∩_∩)O~。本地仓库建立1,注册账户以及创建仓库 要想使用github第一步当然是注册... 阅读全文
posted @ 2013-10-29 16:20 Leo.cheng 阅读(1293) 评论(1) 推荐(0) 编辑
摘要: 通信协议 串行通信接口(如RS232、RS485等)作为计算机与单片机交互数据的主要接口,广泛用于各类仪器仪表、工业监测及自动控制领域中。 通信协议是需要通信的双方所达成的一种约定,它对包括数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题作出统一规定,在双方的通信中必须共同遵守。在实际应用系统中,如果缺少一个严格、合理、规范的串口通信协议,将无法保证数据传输的正确性及通信的可靠性。 因此,需要提出一种基于状态机串口通信协议的设计方法:通过合理地设置数据包格式来保证了数据传输的正确性:引入了状态机方法,简化了协议的实现难度,提高了通信的可靠性,同时使通信过程具有较高... 阅读全文
posted @ 2013-10-20 12:51 Leo.cheng 阅读(2013) 评论(0) 推荐(0) 编辑
摘要: Spcomm属性设置 SPCOMM 控件的属性设置很关键的,特别是使用事件驱动时接收大数据块时尤为明显,如果设置不当,接收到的数据可能严重出错。 ReadIntervalTimeout:=100 SPCOMM 属性中,所有 可设置 True 和 False 的属性应当设置成 False; SPCOMM 控件每次只能接收 2048 个字节,如果大于 2048 个字节,则分多次接收.Spcomm串口通信的关键技术问题 Spcomm应用的核心在于主线程、读线程和写线程之间的消息传递机制,而通信数据相关信息的传递也是以消息传递的方式进行的。 在使用Spcomm进行串口通信编程,除按照说明使... 阅读全文
posted @ 2013-10-20 11:30 Leo.cheng 阅读(1301) 评论(0) 推荐(0) 编辑
摘要: 本文基于Android-4.0理论层次解读 请看:www.cnblogs.com/lcw/p/3373214.html如何管理各种驱动设备 在理论中谈到EventHub,这个一看就是一个做实事的,肯定不是领导,哪它的领导是谁呢? 从以下几方面来分析此问题:每个功能模块是怎么产生的?读取设... 阅读全文
posted @ 2013-10-17 16:47 Leo.cheng 阅读(2356) 评论(0) 推荐(0) 编辑
摘要: linux输入子系统 Android是linux内核的,所以它的事件处理系统也在linux的基础上完成的。 Linux内核提供了一个Input子系统来实现的,Input子系统会在/dev/input/路径下创建我们硬件输入设备的节点,一般情况下在我们的手机中这些节点是以eventX来命名的,如e... 阅读全文
posted @ 2013-10-17 00:13 Leo.cheng 阅读(2080) 评论(0) 推荐(0) 编辑
摘要: 类图关系 在看Android的窗口机制之前,先看看其主要的类图关系以及层级之间的依赖与调用关系 1.window在当前的android系统的中的呈现形式是PhoneWindow (frameworks/base/policy/src/com/android/internal/polic... 阅读全文
posted @ 2013-10-16 21:01 Leo.cheng 阅读(3762) 评论(0) 推荐(1) 编辑
摘要: 计算机的存储层次 同样都是晶体管存储设备,为什么寄存器比内存快呢? Mike Ash写了一篇很好的解释,非常通俗地回答了这个问题,有助于加深对硬件的理解。原因一:距离不同 距离不是主要因素,但是最好懂,所以放在最前面说。内存离CPU比较远,所以要耗费更长的时间读取。 以3GHz的CPU为例,电流每秒钟可以振荡30亿次,每次耗时大约为0.33纳秒。光在1纳秒的时间内,可以前进30厘米。也就是说,在CPU的一个时钟周期内,光可以前进10厘米。因此,如果内存距离CPU超过5厘米,就不可能在一个时钟周期内完成数据的读取,这还没有考虑硬件的限制和电流实际上达不到光速。相比之下,寄存器在CPU... 阅读全文
posted @ 2013-10-16 12:12 Leo.cheng 阅读(1196) 评论(0) 推荐(0) 编辑
摘要: ADB命令简介 ADB是一个功能强大的命令行工具。通过它可以直接和模拟器或真机进行交互。它是一个具有客户端和服务器端的程序。 它主要由三个部分组成:客户端,它运行在你的开发机上,你可以通过执行adb命令来唤起一个客户端。其他的工具例如:ADT插件以及DDMS也可以创建一个ADB客户端。服务端,它运行在你的后台进程,这个服务管理客户端和运行在你模拟起或真机上的守护进程。守护进程,它运行在每台模拟器或真机的后台进程。 当你启动一个adb客户端的时候,客户端会首先检测是否已经有adb服务进程运行,如果没有运行,那么它会首先启动一个服务进程,当服务进程启动后,服务进程绑定本地的5037端口,并且... 阅读全文
posted @ 2013-10-15 17:28 Leo.cheng 阅读(10978) 评论(0) 推荐(0) 编辑
摘要: absolute{它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同.}var Str: string[32]; StrLen: Byte absolute Str;{这个声明指定了变量StrLen起始地址与Str相同.}{由于字符串的第0个位置保存了字符串的长度, 所以StrLen的值即字符串长度.}begin Str := 'abc'; Edit1.Text := IntToStr(StrLen);end;View Code abstract{它允许你创建抽象的方法, 包括有抽象方法的类称为抽象类.}{Abstract关键字必须与Virtual或Dynami 阅读全文
posted @ 2013-10-09 17:17 Leo.cheng 阅读(558) 评论(0) 推荐(1) 编辑
摘要: 另外两种多线程的同步方法 CriticalSection(临界区) 和 Mutex(互斥), 这两种同步方法差不多, 只是作用域不同;CriticalSection(临界区) 类似于只有一个蹲位的公共厕所, 只能一个个地进;Mutex(互斥) 对象类似于接力赛中的接力棒, 某一时刻只能一个人持有, 谁拿着谁跑.什么是 Semaphore(信号或叫信号量) 譬如到银行办业务、或者到车站买票, 原来只有一个服务员, 不管有多少人排队等候, 业务只能一个个地来. 假如增加了业务窗口, 可以同时受理几个业务呢? 这就类似与 Semaphore 对象, Semaphore 可以同时处理等待函数(... 阅读全文
posted @ 2013-10-09 15:50 Leo.cheng 阅读(1118) 评论(0) 推荐(0) 编辑
摘要: TStringList 常用方法与属性var List: TStringList; i: Integer;begin List := TStringList.Create; List.Add('Strings1'); {添加} List.Add('Strings2'); List.Exchange(0,1); {置换} List.Insert(0,'Strings3'); {插入} i := List.IndexOf('Strings1'); {第一次出现的位置} List.Sort; ... 阅读全文
posted @ 2013-10-08 19:15 Leo.cheng 阅读(553) 评论(0) 推荐(0) 编辑
摘要: string string = AnsiString = 长字符串,理论上长度不受限制,但其实受限于最大寻址范围2的32次方=4G字节; 变量Str名字是一个指针,指向位于堆内存的字符序列,字符序列起始于@Str[1],@Str[1]偏移负16个字节的空间存储着字串长度、引用计数等信息。字符序列以NULL结束。string[n] string[n] = ShortString = 短字符串,最多容纳255个字符,实际长度是字符长度+1,是Delphi的简单类型; Str[0]存储着字符的个数,第一个字符从Str[1]开始存放,不以NULL结束。 只要理解这一理论,转string应该就... 阅读全文
posted @ 2013-10-05 21:19 Leo.cheng 阅读(33338) 评论(0) 推荐(0) 编辑
摘要: 在 Delphi 中使用多线程有两种方法: 调用 API、使用 TThread 类; 使用 API 的代码更简单.CreateThreadfunction CreateThread( lpThreadAttributes: Pointer; {安全设置} dwStackSize: DWORD; {堆栈大小} lpStartAddress: TFNThreadStartRoutine; {入口函数} lpParameter: Pointer; {函数参数} dwCreation... 阅读全文
posted @ 2013-10-04 21:29 Leo.cheng 阅读(2338) 评论(0) 推荐(0) 编辑
摘要: SQLite SQLite是一个老牌的轻量级别的本地文件数据库,完全免费且开源,不需要安装,无须任何配置,当然,这样管理功能就不是很强大了,但是它的主要应用也是在本地数据库,可以说是最简单好用的嵌入式本地数据库了。 SQLite只要一个DLL就可以实现全部功能。SQLite不需要数据库引擎,只有一个数据文件,占用系统资源非常少,很适合做Demo或小型应用。 同时,SQLite也是关系型数据库,支持大部分SQL语句。它支持事务机制和blob数据类型,支持大部分SQL92标准,最大支持数据库到2T。 它还有Python、Tcl、PHP、Java的绑定,这些语言可以直接使用SQLite数据库... 阅读全文
posted @ 2013-10-04 18:25 Leo.cheng 阅读(8697) 评论(0) 推荐(0) 编辑
摘要: 无名管道pipe 无名管道又被称为pipe,是进程间通信的一种方式。 pipe具有以下特点:只能用于具有血缘关系的进程之间半双工的通信模式,具有固定的读端和写端一种特殊的文件,存在于内存中。可通过read、write对其操作 因为pipe存在于内存中,所以无法像操作普通文件那样通过指定路径来打... 阅读全文
posted @ 2013-10-04 17:25 Leo.cheng 阅读(2176) 评论(0) 推荐(1) 编辑
摘要: 概述^: 指针@: 取址#: 十进制符$: 十六进制符@ :取址运算符1 var2 int :integer;3 p :^integer;4 begin5 new(P);6 int :=24;7 p :=@int;8 dispose(P);9 end;^ :指针的引用解析操作符var pint :^integer;begin new(pint); showmessage(inttohex(integer(@pint),8)); pint^ :=$ff; showmessage(inttohex(pint^,4));end; 符号 ^ 有两种用途 当它出现在... 阅读全文
posted @ 2013-10-02 00:49 Leo.cheng 阅读(1020) 评论(0) 推荐(0) 编辑
摘要: LayoutInflater的作用 LayoutInflater的作用类似于findViewById()。 不同点是: LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化为View类对象。 对于一个已经载入的界面,就可以使用Activiyt.findViewById()方法来获得其中的界面元素,因为在一个Activity里对应的是setConentView()的那个layout里的组件。 通俗的说,inflate就相当于将一个xml中定义的布局找出来。 因此如果你的Activity里如果用到别的layout,比如对话框上的layout,你还要设... 阅读全文
posted @ 2013-09-30 22:56 Leo.cheng 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 关于OAuth验证 OAuth是当下流行的授权方案,twitter,facebook,google等大型网站的开放平台都支持了oauth验证模式,国内的新浪微博、腾讯微博、163微博的开放平台也相继支持了这种验证模式。 引用维基百科的相关说明 oauth是一个开放的标准,允许用户让第三方应用访问该用户放在某一个网站的私密资源,而无需将用户名和密码传递给第三方应用。 oauth允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。 举例来说就是: 用户A在服务提供者B上存放了一些资源,B支持oauth授权模式,A在B上是注册用户,有用户名和密码,使用用户名和密... 阅读全文
posted @ 2013-09-29 20:18 Leo.cheng 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 何为idc idc(Input Device Configuration)为输入设备配置文件,它包含设备具体的配置属性,这些属性影响输入设备的行为。 对于touch screen设备,总是需要一个idc文件来定义其行为。 Android根据输入设备驱动汇报的事件类型和属性来检测和配置大部分输入... 阅读全文
posted @ 2013-09-29 00:30 Leo.cheng 阅读(3028) 评论(0) 推荐(0) 编辑
摘要: 名词解析 IP地址的作用是标示计算机的网卡地址,每台计算机都有一个IP地址; 端口是指计算机中为了标示在计算机中访问网络的不同程序而设的编号,并不是网卡接线的端口,而是不同程序的逻辑编号,并不是实际存在的; 域名是用来代替IP地址来标示计算机的一种直观名称,例如百度网站的IP地址是202.10... 阅读全文
posted @ 2013-09-28 15:27 Leo.cheng 阅读(467) 评论(0) 推荐(0) 编辑
摘要: Intent An intent is an abstract description of an operation to be performed 一个Intent就是一次对将要执行的操作的抽象描述。使用Service的方式 Started startService():调用者和服务之间没有联系,即使调用者退出了,服务仍然进行 [onCreate()-->onStart()-->startService()-onDestory()] Bound bindService():调用者和服务绑在一起,调用者一旦退出服务也就终止[onCreate()-->onBind()... 阅读全文
posted @ 2013-09-27 16:02 Leo.cheng 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:lcw: error while loading shared libraries: libjson.so.0: cannot open shared object file: No such file or di... 阅读全文
posted @ 2013-09-26 17:49 Leo.cheng 阅读(3301) 评论(0) 推荐(0) 编辑
摘要: Handler的定义 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发。 比如说, 你要是点击一个 Button, Android会分发事件到Button上,来响应你的操作。如果此时需要一个耗时的操作,例如: 联网读取数据,或者读取本地较大的一个文件的时候,你不能把这些操作放在主线程中,如果你放在主线程中的话,界面会出现假死现象, 如果5秒钟还没有完成的话,会收到Android系统的一个错误提示"强制关闭".这个时候我们需要把这些耗时的 阅读全文
posted @ 2013-09-26 15:29 Leo.cheng 阅读(2310) 评论(1) 推荐(0) 编辑
摘要: JSON有两种结构 1.“名称/值”对的集合(Acollectionofname/valuepairs)。 不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hashtable),有键列表(keyedlist),或者关联数组(associativearray)。 2.值的有序列表(Anorderedlistofvalues)。在大部分语言中,它被理解为数组(array)。基础示例 简单地说,JSON可以将JavaScript对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在... 阅读全文
posted @ 2013-09-26 11:08 Leo.cheng 阅读(1194) 评论(0) 推荐(0) 编辑
摘要: Linux内核启动流程 arch/arm/kernel/head-armv.S 该文件是内核最先执行的一个文件,包括内核入口ENTRY(stext)到start_kernel间的初始化代码, 主要作用是检查CPU ID, Architecture Type,初始化BSS等操作,并跳到start... 阅读全文
posted @ 2013-09-25 00:39 Leo.cheng 阅读(16122) 评论(0) 推荐(2) 编辑
摘要: MTD介绍 MTD,Memory Technology Device即内存技术设备 字符设备和块设备的区别在于前者只能被顺序读写,后者可以随机访问;同时,两者读写数据的基本单元不同。 字符设备,以字节为基本单位,在Linux中,字符设备实现的比较简单,不需要缓冲区即可直接读写,内核例程和用户态API一一对应,用户层的Read函数直接对应了内核中的Read例程,这种映射关系由字符设备的file_operations维护。 块设备,则以块为单位接受输入和返回输出。对这种设备的读写是按块进行的,其接口相对于字符设备复杂,read、write API没有直接到块设备层,而是直接到文件系统层,然... 阅读全文
posted @ 2013-09-23 20:21 Leo.cheng 阅读(4311) 评论(0) 推荐(0) 编辑
摘要: HAL概述 以下是基于android4.0.3,对应其他低版本的代码,可能有所差异,但基本大同小异。 Android的HAL是为了保护一些硬件提供商的知识产权而提出的,是为了避开linux的GPL束缚。 思路是把控制硬件的动作都放到了Android HAL中,而linux driver仅仅完成一... 阅读全文
posted @ 2013-09-23 19:34 Leo.cheng 阅读(3466) 评论(8) 推荐(0) 编辑
摘要: QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象、易于扩展、真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 KDE 桌面环境就是建立在 QT 库的基础之上。 QT 支持下列平台:MS/WINDOWS-95、98、NT 和 2000;UNIX/X11-Linux、Sun Solaris、HP-UX、Digital Unix、IBM AIX、SGI IRIX;EMBEDDED- 支持 framebuffer 的 Linux 平台。伴随着 KDE 的快速发展和普及,QT 很可能成为 Linux 窗口平台上进行软件开发时的 GUI 首选... 阅读全文
posted @ 2013-09-08 00:39 Leo.cheng 阅读(685) 评论(0) 推荐(0) 编辑
摘要: Linux网络设备结构 首先看一下Linux网络设备的结构,如下图: 网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit()函数发送数据,并通过netif_rx()函数接受数据。这一层的存在使得上层协议独立于具体的设备。网络设备接口层向协议接口层提供统一的用于描述具体网络设备属性和操作的结构体net_device,该结构体是设备驱动功能层中各函数的容器。实际上,网络设备接口层从宏观上规划了具体操作硬件的设备驱动功能层的结构。设备驱动功能层各函数是网络设备接口层net_device数据结构的具体成员,是驱使网络设备硬件完成.. 阅读全文
posted @ 2013-09-06 18:42 Leo.cheng 阅读(1966) 评论(0) 推荐(0) 编辑
摘要: 背景知识在多媒体的推动下,彩色LCD越来越多地应用到嵌入式系统中,PDA和手机等大多都采用LCD作为显示器材,因此LCD的应用很有实际意义!LCD工作的硬件需求:要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很多的MCU内部都集成了LCD控制器,如S3C2410/2440等。如S3C2410通过LCD控制器就可以产生LCD驱动器所需要的控制信号来控制STN/TFT屏了。S3C2440内部LCD控制器结构图 根据数据手册... 阅读全文
posted @ 2013-09-05 23:46 Leo.cheng 阅读(2224) 评论(0) 推荐(1) 编辑