博客首页
注册
建议与交流
排行榜
加入友情链接
宝宝相册的专门空间
推荐
投诉
搜索:
帮助
懒惰虫的小屋
landuochong.cublog.cn
管理博客
发表文章
留言
收藏夹
博客圈
音乐
相册
文章
· ARM
· C和C++
· 生活经典
· GTK
· linux
· network
· openGL
· QT
首页
关于作者
||
<<
>>
||
我的分类
最新文章
·
cpu时钟频率和串口波特率..
·
基于嵌入式ARM的LCD图像显..
·
程序人生--我已经努力了七..
·
Qtopia Core 4移植过程(转)
·
通过鼠标事件来看QT/Embe..
最新留言
最新评论
最新收藏
·
dsf
统计信息
·
总访问量:1741
·
文章个数:28
·
评论条数:0
·
留言条数:0
·
网友推荐:
cpu时钟频率和串口波特率的计算公式
<DIV> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt"><FONT face="Times New Roman">S<?XML:NAMESPACE PREFIX = ST1 /><ST1:CHMETCNV unitname="C" sourcevalue="3" hasspace="False" negative="False" numbertype="1" tcsc="0">3C</ST1:CHMETCNV>44B0</FONT></SPAN><SPAN style="FONT-SIZE: 10pt">的系统时钟设置公式</SPAN><SPAN style="FONT-SIZE: 10pt"><FONT face="Times New Roman"> <BR>Fpllo </FONT></SPAN><SPAN style="FONT-SIZE: 10pt">为系统的主频,此处为</SPAN><SPAN style="FONT-SIZE: 10pt"><FONT face="Times New Roman">60MHz<BR>Fin </FONT></SPAN><SPAN style="FONT-SIZE: 10pt">为晶振的频率,此处为</SPAN><SPAN style="FONT-SIZE: 10pt"><FONT face="Times New Roman">10MHz<BR></FONT></SPAN><SPAN style="FONT-SIZE: 10pt">一</SPAN><SPAN style="FONT-SIZE: 10pt"><FONT face="Times New Roman">. </FONT></SPAN><SPAN style="FONT-SIZE: 10pt">通过</SPAN><SPAN style="FONT-SIZE: 10pt"><FONT face="Times New Roman">PLL</FONT></SPAN><SPAN style="FONT-SIZE: 10pt">输出时钟脉冲频率的计算:</SPAN><SPAN ……
查看全文
发表于:2008-06-23 ┆
阅读(39)
┆
评论(0)
基于嵌入式ARM的LCD图像显示系统设计
<DIV> <DIV class=tit>基于嵌入式ARM的LCD图像显示系统设计</DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt><STRONG>0引 言</STRONG> <P> 随着<A title=嵌入式 style="COLOR: blue; TEXT-DECORATION: underline" href="http://www.ednchina.com/word/102848.aspx">嵌入式</A>技术迅猛发展和Linux在信息行业中广泛应用,利用嵌入式Linux系统实现图像采集处理已有可能。实时获得图像数据是实现这些应用的重要环节。本文使用的系统硬件平台采用Samsung公司的处理器S3C2410,并以此为基础,在基于嵌入式Linux系统平台上设计了建立图像视频的一种方法。</P> <P><STRONG> 1 系统硬件电路设计</STRONG></P> <P> S3C2410芯片处理器内部集成了<A title=ARM style="COLOR: blue; TEXT-DECORATION: underline" href="http://www.ednchina.com/word/102846.aspx">ARM</A>公司ARM920T处理器核的32位微控制器,资源丰富,带独立的16 kB的指令Cache和16 kB数据Cache、<A title=LCD style="COLOR: blue; TEXT-DECORATION: underline" href="http://www.ednchina.com/word/102847.aspx">LCD</A>(液晶显示器)控制器、RAM控制器、NAND闪存控制器……
查看全文
发表于:2008-06-23 ┆
阅读(27)
┆
评论(0)
程序人生--我已经努力了七年1(转)
<DIV>这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向,所以把我的经历写出来与大家共勉,希望能给刚如行的朋友们一点点帮助。 <BR> <BR> 一转眼我在IT行业学习工作已经七年多了,这期间我做过网页,写过MIS、数据库,应用程序,做过通信软件、硬件驱动、协议栈,到现在做操作系统内核和IC相关开发,这中间走了很多弯路,也吃了不少苦。 <BR> <BR> 我上的是一个三流的高校,就连同一个城市的人多数都不知道。因为学校不好也就没有指望能靠学校名气找一个好工作。所有的希望都寄托在自己的努力上了,大一开学前的假期我就开始了学习,记得我买的第一本书是《计算机基础DOS3.0》,大家别吓着了,其实当时已经普及了DOS6.22了,只是我在书店里看到了DOS4.0,5.0,6.0的书,以为像英语那样是第四、五、六册,记得当时到处找 DOS1.0,现在想想也幸好我没有找到:)开学前我学完了PASCAL,那时既没有计算机也没有人可以请教,我连程序是什么的概念都没有,只好死记硬背代码,然后拿纸写,我一直到大三才有了一台486,在这之前用纸写了多少程序我也记……
查看全文
发表于:2008-06-23 ┆
阅读(29)
┆
评论(0)
Qtopia Core 4移植过程(转)
<DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt id=blog_text> <P><SPAN><FONT face=宋体 size=3>S<?XML:NAMESPACE PREFIX = ST1 /><ST1:CHMETCNV unitname="C" sourcevalue="3" hasspace="False" negative="False" numbertype="1" tcsc="0">3C</ST1:CHMETCNV>2410 + linux 2.4.x</FONT></SPAN></P> <P><FONT size=3><FONT face=宋体><SPAN>Qtopia Core 4</SPAN>。<SPAN>2.2 </SPAN>是<SPAN>QT/embedded</SPAN>的最新版本,</FONT></FONT></P> <P style="TEXT-INDENT: 24pt"><FONT face=宋体 size=3>下面是<SPAN>Qtopia Core 4</SPAN>移植过程:</FONT></P> <P style="TEXT-INDENT: 24pt"><FONT size=3><FONT face=宋体><SPAN> 1. </SPAN>下载交叉编译链<SPAN><A href="ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2"><SPAN style="COLOR: #4a6668">ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2</SPAN></A></SPAN>。不要用<SPAN>cross-2.95.3</SPAN>,<SPAN>Qtopia Core 4</SPAN>指明要<SPAN>3.2</SPAN>以上的版本。网上的教程大多……
查看全文
发表于:2008-06-23 ┆
阅读(36)
┆
评论(0)
通过鼠标事件来看QT/Embedded 窗体事件是如何派发的
<DIV> <P><STRONG>pdf文档</STRONG><BR><A href="http://www.qtcn.org/bbs/job.php?action=download&pid=tpc&tid=9774&aid=1099" target=_blank><FONT color=#2f5fa1>通过鼠标事件来看QTEmbedded 窗体事件是如何派发的.rar</FONT></A> 通过鼠标事件来看QT/Embedded 窗体事件是如何派发的<BR><BR>To study QT/Embedded how to dispatch window event through QT mouse event transfer track<BR><BR>QT的窗体系统可以包含多个进程,对于Linux上的应用,一个进程可以对应一个应用程序,每个应用程序都有自己的MainWindow,也可以有自己的Widget stack.。假设一种情况:同时打开多个应用,并且各个应用之间的Windows不存在完全覆盖,当我们用鼠标点击某个应用的窗体,这个应用的窗体便会出现在屏幕的最上层。对于了解windows窗体服务器的同行来说,理解这个并不难,可能有一个类似于Windows XP X-Windows Sever的进程负责管理鼠标、键盘、与LCD显示的操作。对于智能手机的GUI我是第一次接触,非智能手机的窗体管理是比较简单的,以我以前从事的一个手机平台为例,手机只存在一个dialog Stack, 把这个stack 看成一个Z坐标,栈底位于坐标原点,显示一整屏幕完整的画面就……
查看全文
发表于:2008-06-23 ┆
阅读(34)
┆
评论(0)
Window下安装配置QT开发环境(Devcpp QT)
<DIV>1.下载必须的软件<BR> QT <A href="http://www.trolltech.net/"><FONT color=#0000ff>http://www.trolltech.net</FONT></A> (QT的各种开发工具和类库)<BR> DEVCPP <A href="http://www.bloodshed.net/"><FONT color=#0000ff>http://www.bloodshed.net/</FONT></A> (QT开发的IDE)<BR>2.软件安装<BR> 首先安装devcpp,这里举例安装路径为c:\Dev-Cpp<BR> 再,安装QT软件包,这里举例安装路径为:c:\QT.安装过程中会询问minGW的安装 <P>路径选择 c:\Dev-Cpp\mingGW<BR>3.设置系统环境变量<BR>方法:我的电脑->属性->高级->环境变量->系统变量<BR>PATH=C:\Qt\4.3.2\bin;%PATH%;C:\MinGW\bin (这个需要添加内容)<BR>QTDIT=C:\Qt\4.3.2 (这两个需要创建)<BR>QMAKESPEC=win32-g++ &n……
查看全文
发表于:2008-06-23 ┆
阅读(39)
┆
评论(0)
QT中的SOCKET编程
<DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt id=blog_text> <DIV class=tit>QT中的SOCKET编程</DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt><SPAN style="LINE-HEIGHT: 150%"><SPAN> <P>操作系统:ARM-LINUX<BR>QT版本:QT-2.3.2-FOR-LINUX<BR>GUI:Qtopia<BR><BR>在LINUX 下进行网络编程,我们可以使用LINUX提供的统一的套接字接口。但是这种方法牵涉到太多的结构体,比如IP地址,端口转换等,不熟练的人往往容易犯这样 那样的错误。QT中提供的SOCKET完全使用了类的封装机制,使用户不需要接触底层的各种结构体操作。而且它采用QT本身的signal-slot机 制,使编写的程序更容易理解。<BR><BR>QT中共提供四个与套按字相关的类,分别是:<BR><BR><STRONG><FONT color=#004faf>QServerSocket</FONT></STRONG>:TCP-based server<BR><FONT color=#004faf><STRONG>QSocket: </STRONG><FONT color=#000000>Buffered TCP connection</FONT><BR><STRONG>QSocketDevice: </STRONG><FONT color=#000000>Platform-independ……
查看全文
发表于:2008-06-23 ┆
阅读(28)
┆
评论(0)
Qtopia Core 4 安装
<DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt id=blog_text>Qtopia Core 4 安装 <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt> <DIV> <H2><SPAN class=postbody>make install之后所有需要的东西都放阿$QPEDIR/image下了, 把这个目录搬去就行了。如果觉得比较大的话可以删除字体和不需要的应用</SPAN></H2> <H2></H2> <H2><A href="http://weibing.blogbus.com/logs/4384745.html"><FONT color=#0000ff>Qtopia Core 4 Hello World 终搞定</FONT></A></H2> <DIV class=date>2007-01-26</DIV></DIV><BR> <P>一不小心,又过三天......</P> <P> 这个Hello World可真不容易,本以为考完试可以在实验室全情投入,想不到第三天就要封闭...幸好朋友的实验室还可以用,电脑配置也不错 ^_^</P> <P> Qtopia Core 4是QT/embedded的最新版,网上找很久都没有相关教材,尽是QT/embedded 2的版本。我刚学,干脆就直接上最新版 ^_^ 费了不少时间,作个记录,方便有需要的朋友...</P> <P> ……
查看全文
发表于:2008-06-23 ┆
阅读(29)
┆
评论(0)
常见的几个Qt编程问题的处理
<DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt id=blog_text> <P>1、如果在窗体关闭前自行判断是否可关闭<BR>答:重新实现这个窗体的closeEvent()函数,加入判断操作</P> <P>Quote:</P> <P>void MainWindow::closeEvent(QCloseEvent *event)<BR>{<BR> if (maybeSave())<BR> {<BR> writeSettings();<BR> event->accept();<BR> }<BR> else<BR> {<BR> event->ignore();<BR> }<BR>}</P> <P></P> <P>2、如何用打开和保存文件对话<BR>答:使用QFileDialog</P> <P>Quote:</P> <P> QString fileName =……
查看全文
发表于:2008-06-23 ┆
阅读(27)
┆
评论(0)
OpenGL入门学习(六)
<DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt id=blog_text>今天要讲的是动画制作——可能是各位都很喜欢的。除了讲授知识外,我们还会让昨天那个“太阳、地球和月亮”天体图画动起来。缓和一下枯燥的气氛。<BR><BR><BR>本次课程,我们将进入激动人心的计算机动画世界。<BR><BR>想必大家都知道电影和动画的工作原理吧?是的,快速的把看似连续的画面一幅幅的呈现在人们面前。一旦每秒钟呈现的画面超过24幅,人们就会错以为它是连续的。<BR>我们通常观看的电视,每秒播放25或30幅画面。但对于计算机来说,它可以播放更多的画面,以达到更平滑的效果。如果速度过慢,画面不够平滑。如果速度过快,则人眼未必就能反应得过来。对于一个正常人来说,每秒60~120幅图画是比较合适的。具体的数值因人而异。<BR><BR>假设某动画一共有n幅画面,则它的工作步骤就是:<BR>显示第1幅画面,然后等待一小段时间,直到下一个1/24秒<BR>显示第2幅画面,然后等待一小段时间,直到下一个1/24秒<BR>……<BR>显示第n幅画面,然后等待一小段时间,直到下一个1/24秒<BR>结束<BR>如果用C语言伪代码来描述这一过程,就是:<BR>for(i=0; i<n; ++i)<BR>{<BR>&nbs……
查看全文
发表于:2008-06-23 ┆
阅读(35)
┆
评论(0)
OpenGL入门学习(五)
<DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt id=blog_text>今天要讲的是三维变换的内容,课程比较枯燥。主要是因为很多函数在单独使用时都不好描述其效果,我只好在最后举一个比较综合的例子。希望大家能一口气看到底了。只看一次可能不够,如果感觉到迷糊,不妨多看两遍。有疑问可以在下面跟帖提出。<BR>我也使用了若干图形,希望可以帮助理解。<BR><BR><BR>在前面绘制几何图形的时候,大家是否觉得我们绘图的范围太狭隘了呢?坐标只能从-1到1,还只能是X轴向右,Y轴向上,Z轴垂直屏幕。这些限制给我们的绘图带来了很多不便。<BR><BR>我们生活在一个三维的世界——如果要观察一个物体,我们可以:<BR>1、从不同的位置去观察它。(视图变换)<BR>2、移动或者旋转它,当然了,如果它只是计算机里面的物体,我们还可以放大或缩小它。(模型变换)<BR>3、如果把物体画下来,我们可以选择:是否需要一种“近大远小”的透视效果。另外,我们可能只希望看到物体的一部分,而不是全部(剪裁)。(投影变换)<BR>4、我们可能希望把整个看到的图形画下来,但它只占据纸张的一部分,而不是全部。(视口变换)<BR>这些,都可以在OpenGL中实现。<BR……
查看全文
发表于:2008-06-23 ┆
阅读(37)
┆
评论(0)
OpenGL入门学习(四)
<DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt id=blog_text>OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式。<BR>无论哪种颜色模式,计算机都必须为每一个像素保存一些数据。不同的是,RGBA模式中,数据直接就代表了颜色;而颜色索引模式中,数据代表的是一个索引,要得到真正的颜色,还必须去查索引表。<BR><BR><FONT color=#ff0000>1. RGBA颜色</FONT><BR>RGBA模式中,每一个像素会保存以下数据:R值(红色分量)、G值(绿色分量)、B值(蓝色分量)和A值(alpha分量)。其中红、绿、蓝三种颜色相组合,就可以得到我们所需要的各种颜色,而alpha不直接影响颜色,它将留待以后介绍。<BR>在RGBA模式下选择颜色是十分简单的事情,只需要一个函数就可以搞定。<BR>glColor*系列函数可以用于设置颜色,其中三个参数的版本可以指定R、G、B的值,而A值采用默认;四个参数的版本可以分别指定R、G、B、A的值。例如:<BR>void glColor3f(GLfloat red, GLfloat green, GLfloat blue);<BR>void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);<BR>(还记得吗?3f表示有三个浮点参数~请看第二课中关于glVertex*函数……
查看全文
发表于:2008-06-23 ┆
阅读(31)
┆
评论(0)
OpenGL入门学习(三)
<DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt id=blog_text>在第二课中,我们学习了如何绘制几何图形,但大家如果多写几个程序,就会发现其实还是有些郁闷之处。例如:点太小,难以看清楚;直线也太细,不舒服;或者想画虚线,但不知道方法只能用许多短直线,甚至用点组合而成。<BR>这些问题将在本课中被解决。<BR><BR>下面就点、直线、多边形分别讨论。<BR><BR><BR><FONT color=#ff0000>1、关于点</FONT><BR>点的大小默认为1个像素,但也可以改变之。改变的命令为glPointSize,其函数原型如下:<BR>void glPointSize(GLfloat size);<BR>size必须大于0.0f,默认值为1.0f,单位为“像素”。<BR>注意:对于具体的OpenGL实现,点的大小都有个限度的,如果设置的size超过最大值,则设置可能会有问题。<BR>例子:<BR>void myDisplay(void)<BR>{<BR> glClear(GL_COLOR_BUFFER_BIT);<BR> glPointSize(5.0f);<BR> glBegin(GL_POINTS);<BR> glVertex2f(0.0f, 0.0f);<BR> &n……
查看全文
发表于:2008-06-23 ┆
阅读(39)
┆
评论(0)
OpenGL入门学习(二)
<DIV>本次课程所要讲的是绘制简单的几何图形,在实际绘制之前,让我们先熟悉一些概念。<BR><BR><FONT color=#ff0000>一、点、直线和多边形</FONT><BR>我们知道数学(具体的说,是几何学)中有点、直线和多边形的概念,但这些概念在计算机中会有所不同。<BR>数学上的点,只有位置,没有大小。但在计算机中,无论计算精度如何提高,始终不能表示一个无穷小的点。另一方面,无论图形输出设备(例如,显示器)如何精确,始终不能输出一个无穷小的点。一般情况下,OpenGL中的点将被画成单个的像素(像素的概念,请自己搜索之~),虽然它可能足够小,但并不会是无穷小。同一像素上,OpenGL可以绘制许多坐标只有稍微不同的点,但该像素的具体颜色将取决于OpenGL的实现。当然,过度的注意细节就是钻牛角尖,我们大可不必花费过多的精力去研究“多个点如何画到同一像素上”。<BR>同样的,数学上的直线没有宽度,但OpenGL的直线则是有宽度的。同时,OpenGL的直线必须是有限长度,而不是像数学概念那样是无限的。可以认为,OpenGL的“直线”概念与数学上的“线段”接近,它可以由两个端点来确定。<BR>多边形是由多条线段首尾相连而形成的闭合区域。OpenGL规定,一个多边形必须是一个“凸多……
查看全文
发表于:2008-06-23 ┆
阅读(34)
┆
评论(0)
OpenGL入门学习(一)
<DIV>说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧?<BR>但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率、16色来做吗?显然是不行的。<BR><BR><FONT color=#0000ff>本帖的目的是让大家放弃TC的老旧图形接口,让大家接触一些新事物。</FONT><BR><BR>OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。<BR><FONT color=#ff0000>1、与C语言紧密结合</FONT>。<BR>OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。如果你曾经接触过TC的graphics.h,你会发现,<FONT color=#0000ff>使用OpenGL作图甚至比TC更加简单</FONT>。<BR><FONT color=#ff0000>2、强大的可移植性</FONT>。<BR>微软的Direct3D虽然也是十分优秀的图形API,但它只用于Windows系统(现在还要加上一个XBOX游戏机)。而OpenGL不仅用于 Windows,还可以用于Unix/Linux等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。并且,OpenGL 的基本命令都做到了硬件无关,甚至是平台无关。<BR><FONT color=#ff0000>3、高性能的图形渲染</FONT>。<BR……
查看全文
发表于:2008-06-23 ┆
阅读(40)
┆
评论(0)
测试Qt桌面环境(转)
<DIV>生成可执行文件并且在Virtual framebuffer上运行,测试Qt桌面环境 <DIV>一个源代码文件要能够在开发板上运行,首先应能够在Virtual framebuffer上显示出来,然后通过交叉编译在开发板上运行.</DIV> <DIV>生成可执行文件在qte中试验<BR><BR>这里我们采用了Qt/Embedded自带的一个demo,它在/$QTEDIR/examples/progressbar目录下,<BR>这个目录包括下面几个文件: main.cpp、Makefile.in 、progressbar.h 、<BR>Makefile、progressbar.cpp、progressbar.pro,如果已经有了progressbar 的执行文件,可以使用make clean删除。<BR><BR><STRONG>设置环境变量</STRONG><BR><FONT color=#ff0000>export TMAKEDIR=/root/qtopia/tmake-1.13<BR>export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++<BR>export PATH=$TMAKEDIR/bin:$PATH</FONT></DIV> <DIV><FONT color=#ff0000>export QTEDIR=/root/qtopia/qt-2.3.10-host<BR>export QTDIR=$QTEDIR<BR>export PATH=$QTDIR/bin:$PATH<BR>export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH<BR></FONT></DIV> <DIV><BR><STRONG>1.生成工程文件.pro<BR></STRONG>每个Qt程式都对应着一个工程文件,因为tmake工具要借此文件生成……
查看全文
发表于:2008-06-23 ┆
阅读(24)
┆
评论(0)
C++
<DIV> <TABLE style="TABLE-LAYOUT: fixed"> <TBODY> <TR> <TD> <DIV class=cnt id=blog_text> <P>1.把C++当成一门新的语言学习(和C没啥关系!真的); <BR>2.看《Thinking In C++》,不要看《C++变成死相》(C++编程思想,翻译的非常差); <BR>3.看《The C++ Programming Language》(这本东西有影印板的)和《Inside The C++ <BR>Object Model》 (<A href="http://www.csdn.net/exper......side-cpp-object-model.htm"><FONT color=#333333>http://www.csdn.net/exper......side-cpp-object-model.htm</FONT></A>这本 <BR>东西候sir翻译了),不要因为他们很难而 我们自己是初学者所以就不看; <BR>4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的 <BR>是一门语言; <BR>5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引 <BR>伸出很多知识点; <BR>6.会用Visual C++,并不说明你会C++; <BR>7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚 <BR>持实践和不遗余力的博览群书; <BR>8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平……
查看全文
发表于:2008-06-23 ┆
阅读(29)
┆
评论(0)
程序设计中的感悟
<DIV><FONT color=#993300>1. 学习应该从基础打起,不要一开始就尝试最高深的技术。</FONT> <P><FONT color=#993300 size=2> 2. 每看一本书,不要说这章我以前学习过了,也掌握的很好,因此我可以跳过这一章看更重要的了。</FONT></P> <P><FONT color=#993300 size=2> 3. 对于作业,遇到不会的尽量不要立刻向别人请教。如果实在解决不了的问题,可以先完成你会的,然后把一些特别的难点提炼出来,向高手请教。不要指望书本和行家能帮你解决一切问题,因为并不是所有问题都能由别人教给你。</FONT></P> <P><FONT color=#993300 size=2> 4. 向别人请教问题应该把问题说明白。对于错误提示信息应该原样提供出来,不要按自己理解的信息提供。因为既然你自己做不了,说明你理解一般都有问题。</FONT></P> <P><FONT color=#993300 size=2> 5. 问问题最好能带代码。</FONT></P> <P><FONT color=#993300 size=2> 6. 不要说“编译通过,可是运行时...",因为编译错误和运行错误可能根本没有关系。一般来说,编译是语法问题,而运行是逻辑问题。</FONT></P> <P><FONT color=#993300 size=2> 7. 书看千遍不如做程序一遍,应该尽量尝试去写程序。</FONT><……
查看全文
发表于:2008-06-23 ┆
阅读(28)
┆
评论(0)
触摸屏工作笔记续 转
<DIV> <DIV style="MARGIN: 15px"> <DIV></DIV> <DIV><STRONG> <DIV><STRONG>开始还以为触摸校准成功了,结果ts_test.c不只是要终端出现信息,</STRONG></DIV> <DIV><STRONG>还需要是用手点哪里光标跟着去哪里<BR>可是屏上并没有光标显示</STRONG></DIV> <DIV></DIV> <DIV><STRONG>对于tslib-1.3版本:</STRONG></DIV> <DIV>首先我运行校准程序得到校准文件 <BR><FONT color=#999900><FONT color=#000000>[/mnt/nfs/tslib-1.3/tests/.libs]./ts_calibrate</FONT> </FONT><BR><FONT color=#999900>xres = 640, yres = 480 <BR>Took 1 samples... <BR>Top left : X = 585 Y = 3298 <BR>Took 2 samples... <BR>Top right: X = 3257 Y = 3289 <BR>Took 1 samples... <BR>Bot right: X = 3246 Y = 702 <BR>Took 1 samples... <BR>Bot left : X = 580 Y = 753 <BR>Took 1 samples... <BR>Middle: X = 1996 Y = 1947 <BR>-69.743103 0.202175 -0.000510 <BR>539.055481 -0.001745 -0.148005 <BR>Calibration constants: -4570684 13249 -33 35327540 -114 -9699 65536 </FONT></DIV> <DIV>然后运行测试程序 <BR>[/mnt/nfs/tslib-1.3/tests/.libs]./ts_test <BR>应该是用手点……
查看全文
发表于:2008-06-23 ┆
阅读(29)
┆
评论(0)
触摸屏坐标确定 转
<DIV>触摸屏本身有自己的指标分辨率, 比如2048*2048, 也就是它的坐标系, 要说的是,设计过程中,它和我们LCD显示屏的坐标系(比如大点的,1024*768)是两个概念。 我们通过ADS控制器的SPI/I2C总线读取到的触摸屏的坐标信息,是触摸屏(贴在LCD上面很像包装纸的一层薄膜)以它本身坐标原点O(物理的,固定的,4个边角的某一个,很可能该原点在装配过程中已经被切割掉, 但没关系,不影响坐标确定)为参考的坐标对(X,Y)。(也好像是两个电压值(Nx,Ny),根据触摸屏X,Y方向的参考电压,做个线性比较,一样很容易得到其坐标值(X,Y), 记不清楚了...)。<BR>---<BR>实际使用过程中, 其他设计者和使用者当然不会关心某个时刻触摸屏的坐标定位是什么,我们唯一的参考定位是LCD屏的坐标系(x,y), 所以整个触摸屏的设计,就是把两个2维线性坐标系通过几个样值的比较,对应起来, 即(X,Y)--->(x,y), 具体的做法是:<BR>---<BR>(1)编写一段计算程序,调用LCD显示驱动程序,在LCD上打印几个个亮点,选择方便计算的,比如( x1,y1),(x2,y2)...<BR>---<BR>(2) (触摸屏驱动程序应该还没有设计完成, 这里只需要做到其触摸屏控制器初始化函数、坐标数据读取函数和相应的点击……
查看全文
发表于:2008-06-23 ┆
阅读(26)
┆
评论(0)
版权所有 ChinaUnix.net 页面生成时间:5.0947