搬家啦
这个博客的速度真的太慢了,而且还会被墙的可能性比较大,可恶的河蟹。所以,决定转到CU上的博客。新博客地址:http://szufhc.cublog.cn,欢迎光临。
在进行Qt/E的移植和触摸屏校正的实践过程中,不得不感慨一下国内的学术文章真是天下一大抄,想找点有价值的资料还真得累个精疲力竭。可恶的是,转载的文章也不标明,搞得就像是自己原创的一样,其中有多少人真正实践过了,不得而知。废话就到此为止,牢骚也少发了,下面说说我的移植过程吧(前前后后一共耗时3天),既为了方便自己,也希望对“不幸”搜到这篇文章的读者有所帮助。
参考了下面几篇文章:
http://www.qtcn.org/bbs/read.php?tid=10373
http://blog.ifeng.com/article/1848021.html
http://blog.chinaunix.net/u2/86708/showart_1924834.html
http://www.cnblogs.com/wangtianxj/archive/2009/05/12/1454729.html
首先,有必要区分几个名词:Qt,Qt/E,Qtopia Core, Qtopia。(引用自Qt中文论坛)
Qt泛指Qt的所有桌面版本,比如Qt/X11,Qt Windows,Qt Mac等。由于Qt最早是在Linux中随着KDE流行开来的,因此通常很多人说的Qt都指用于Linux/Unix的Qt/X11。
Qt/E(Qt/Embedded)是用于嵌入式Linux系统的Qt版本。Qt/E去掉了X Lib的依赖而直接工作于Frame Buffer上,因而效率更高,但它并不是Qt的子集,而应该是超集,部分机制(如QCOP等)不能用于Qt/X11中。
Qtopia是一个构建于Qt/E之上的类似桌面系统的应用环境。相比之下,Qt/E是基础类库。
Qtopia Core:就是原来的Qt/E,大概从Qt 4开始改名,把Qtopia Core并到Qtopia的产品线中去了。但实际上Qtopia Core就相当于原来的Qt/E,仍然作为基础类库。
另外,似乎奇趣最近又把Qtopia Core改名叫做Qt for Embedded Linux了,不知道是不是因为Qtopia Core搞得大家都很糊涂,没人来买的缘故。
首先说下我使用的环境:
操作系统:ubuntu 8.04桌面版 开发板:友善之臂mini2440
主机IP(我主机上安装了双网卡): eth0供我上外网查找资料用,eth1直接和开发板相连
eth0:192.168.179.205(dhcp) 网关:192.168.179.33 子网掩码:255.255.255.0 广播地址:192.168.179.255
eth1:192.168.1.2(static) 子网掩码:255.255.255.0 广播地址:192.168.1.255 (并没有设置网关)
开发板IP:192.168.1.230(static) 子网掩码:255.255.255.0 广播地址:192.168.1.255
第一步:连接主机和开发板
我选择了串口线和网线连接起了主机和开发板。由于我的主机上也没有串口,故需要一根RS232的串口转USB线分别连接开发板的串口和主机的一个USB口;用一根网线直接连接开发板的网卡接口和主机的eth1(注:直接连接就可以了,我之前一直郁闷不知道怎么用网线连接起开发板和主机)。
Continue Reading »
转自百度帖吧:http://tieba.baidu.com/f?kz=681398568
作者:孤山飘雪
中国人的聪明是有名的,我们的“国粹”麻将牌即是一例。打麻将的乐趣绝非仅仅在赢钱,而在于打的时候,需要用尽各种心思骗上家盯下家,有时候要故意打好张,有时候又特意要喂一口,欲擒故纵,真真假假,羊头狗肉,声东击西,明修栈道,暗渡陈仓,上下其手,两面三刀……这哪里是打牌,完全是一种心理战。
据说老外一直学不会咱们的麻将,原因就在于,人家没有我们这么多花花肠子,这一套对他们来说太复杂了。他们最典型的赌博,就是轮盘赌,全凭运气或概率,最笨的就是,拿一把左轮手枪,里面装颗子弹,大家轮流向太阳穴射击,看谁命大。最最笨的还有,就是那种决斗,两个人直接用剑残杀,或站在一定距离开外,互相瞄准射击。天底下还有这么笨的人嘛。
看看我们的小小麻将,其中蕴含着多少机巧谋算,里面浓缩的可是我几千年的中华智慧啊!
Continue Reading »
原文地址:http://www.ibm.com/developerworks/cn/linux/l-audio/index.html
作者:肖文鹏 (xiaowp@263.net), 自由软件爱好者
2004 年 2 月 01 日
虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序,同时还给出了一些常用的音频编程框架。
音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的处理。
数字音频系统通过将声波的波型转换成一系列二进制数据,来实现对原始声音的重现,实现这一步骤的设备常被称为模/数转换器(A/D)。A/D转换器以每秒钟上万次的速率对声波进行采样,每个采样点都记录下了原始模拟声波在某一时刻的状态,通常称之为样本(sample),而每一秒钟所采样的数目则称为采样频率,通过将一串连续的样本连接起来,就可以在计算机中描述一段声音了。对于采样过程中的每一个样本来说,数字音频系统会分配一定存储位来记录声波的振幅,一般称之为采样分辩率或者采样精度,采样精度越高,声音还原时就会越细腻。
数字音频涉及到的概念非常多,对于在Linux下进行音频编程的程序员来说,最重要的是理解声音数字化的两个关键步骤:采样和量化。采样就是每隔一定时间就读一次声音信号的幅度,而量化则是将采样得到的声音信号幅度转换为数字值,从本质上讲,采样是时间上的数字化,而量化则是幅度上的数字化。下面介绍几个在进行音频编程时经常需要用到的技术指标: