登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』嵌入式Linux基础与实训教程

書城自編碼: 2649739
分類: 簡體書→大陸圖書→計算機/網絡操作系統/系統開發
作者: 龙华、谢剑明
國際書號(ISBN): 9787302413141
出版社: 清华大学出版社
出版日期: 2015-09-01
版次: 1 印次: 1
頁數/字數: 268/409000
書度/開本: 16开 釘裝: 平装

售價:NT$ 266

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
北洋大学与近代中国(第2辑)
《 北洋大学与近代中国(第2辑) 》

售價:NT$ 717.0
汗青堂丛书048·科举史(新)
《 汗青堂丛书048·科举史(新) 》

售價:NT$ 370.0
新形势下海事综合风险管控理论与实践
《 新形势下海事综合风险管控理论与实践 》

售價:NT$ 448.0
数码港元:Web3.0构建香港新金融
《 数码港元:Web3.0构建香港新金融 》

售價:NT$ 420.0
邓正来著作集(全9册)
《 邓正来著作集(全9册) 》

售價:NT$ 8893.0
努斯:希腊罗马哲学研究(第6辑)--逻辑、同异与辩证法
《 努斯:希腊罗马哲学研究(第6辑)--逻辑、同异与辩证法 》

售價:NT$ 381.0
碳交易与碳金融基础(彭玉镏)
《 碳交易与碳金融基础(彭玉镏) 》

售價:NT$ 269.0
当下的骰子--福柯的光与影
《 当下的骰子--福柯的光与影 》

售價:NT$ 493.0

建議一齊購買:

+

NT$ 208
《 婚礼色彩设计与应用 》
+

NT$ 468
《 宠物美容与服饰 》
+

NT$ 270
《 服装设计基础---中国高等职业院校服装专业实用教程(进阶版) 》
+

NT$ 441
《 工业机器人工程应用虚拟仿真教程(高等职业教育工业机器人课程实操推荐教材) 》
+

NT$ 371
《 漆艺教程 》
內容簡介:
本书以完成一个智能家居项目为主线,讲述了实训各个阶段所需要的知识。全书分为三篇,第一篇讲述了项目的界面部分,用Qt程序设计,并以一个小项目媒体播放器的制作来加深理解。第二篇讲述了项目的驱动程序部分,即基于ARM学习板及扩展电路板的驱动程序的编写。第三篇讲述了系统的集成,即嵌入式Qt界面控制硬件,完成一个简易的智能家居项目。

本书适合作为大专院校嵌入式专业、物联网专业学生的实训教材。此外,有志从事嵌入式Linux开发的人员可以把本书作为入门级读物。
目錄
目 录
第一篇 Qt程序设计
第1章 Qt编程基础及开发环境的搭建1
1.1 Qt的起源1
1.2 Linux系统下的图形界面3
1.2.1 Linux本身包括内核和Shell3
1.2.2 关于X114
1.2.3 窗口管理器综合桌面环境5
1.3 Qt的特点及主要构成5
1.3.1 Qt的特点5
1.3.2 Qt开发环境的主要构成7
1.4 Qt开发环境的搭建8
1.4.1 安装Qt Creator8
1.4.2 安装虚拟机11
1.4.3 在虚拟机中安装Linux
操作系统15
1.5 使用Qt开发环境创建第一个
应用程序28
1.5.1 关于可视化编程28
1.5.2 Qt Creator常用菜单的
功能介绍28
1.5.3 举例29
第2章 Qt编程基础36
2.1 C++基础36
2.2 Qt程序编译过程分析43
2.2.1 Qt Creator中应用程序的
编译过程43
2.2.2 Qt的元对象系统48
2.2.3 Qt资源文件49
2.3 Qt控件编程52
2.3.1 Qt的帮助系统53
2.3.2 Qt Creator界面中的控件54
2.3.3 常用控件举例57
2.4 Qt布局管理60
2.5 信号与槽61
2.6 媒体播放器的制作62
2.6.1 制作界面62
2.6.2 编写控件的事件代码64
第3章 智能家居项目Qt界面设计75
3.1 界面跳转75
3.2 智能家居多级子项目界面设计81
3.2.1 智能家居项目需求分析81
3.2.2 代码实现82
第二篇 驱动程序开发
第4章 搭建开发环境93
4.1 软件开发环境的搭建93
4.1.1 安装VMware Workstation
软件93
4.1.2 建立虚拟电脑94
4.1.3 Ubuntu 12.04的安装102
4.1.4 Ubuntu 12.04系统的配置106
4.1.5 安装使用Source Insight113
4.1.6 交叉环境的搭建127
4.2 硬件环境介绍129
4.2.1 S3C2440芯片介绍129
4.2.2 S3C2440开发板主要硬件的
说明133
第5章 驱动程序开发的内核基础144
5.1 嵌入式Linux操作系统的移植
过程概述144
5.1.1 Linux操作系统及其特点144
5.1.2 嵌入式Linux操作系统的
特点144
5.1.3 嵌入式Linux系统的
移植步骤145
5.2 基于GEC2440开发板的内核移植146
5.2.1 Linux-2.6.30内核移植146
5.2.2 驱动模块的动态编译与
静态编译153
5.3 常见的嵌入式内核驱动编译与
移植161
5.3.1 LCD驱动移植161
5.3.2 触摸屏驱动移植166
5.3.3 USB驱动移植170
5.3.4 网卡驱动移植174
第6章 智能家居项目驱动程序实验177
6.1 房间灯驱动程序177
6.1.1 实验目的177
6.1.2 实验原理178
6.1.3 实验步骤178
6.2 窗帘模块驱动程序186
6.2.1 光敏电阻驱动程序186
6.2.2 步进电机的驱动程序194
6.3 温湿度控制模块驱动程序203
6.3.1 温湿度传感器DHT11
驱动程序203
6.3.2 直流电机驱动程序211
6.4 烟雾及红外检测模块驱动程序215
6.4.1 烟雾传感器MQ-2驱动
程序215
6.4.2 红外模块驱动程序222
6.4.3 蜂鸣器驱动程序228
第三篇 系统集成
第7章 Qt图形下载到学习板239
7.1 带QtE4的文件系统分析239
7.2 对QtE应用程序的编译240
第8章 智能家居项目集成241
8.1 把测试程序加入到Qt程序中241
8.1.1 灯光控制界面241
8.1.2 窗帘控制界面244
8.1.3 温湿度控制界面248
8.1.4 烟雾及红外检测界面253
8.2 驱动程序的统一加载257
附录 制作根文件系统258
参考文献263
內容試閱
第2章 Qt编程基础
主要内容
C++基础
Qt程序编译过程分析
Qt的常用控件
Qt布局管理
信号与槽机制
媒体播放器的制作
Qt是一个完全的C++程序开发框架,包含数百个使用C++编写的类组成
的类库和跨平台国际化开发工具。基于控件的编程使得Qt编写界面比
MFCWindows下的基于C++应用程序框架更加方便。Qt API和开发工具
对所有支持平台都是一致的,从而可以进行独立于平台的程序开发和
配置,使得跨平台软件编程直观、简易和方便。
2.1 C++基础
Qt是在标准C++上的扩展,读者如果有标准C++的基础,则再学Qt将更
容易一些。
例2.1 建立一个Point类a.cpp,包含数据成员x、y,编写main进行
测试。
1使用g++进行编译。
2把这个Point类拆分为aa.h、aa.cpp、main.cpp,编写
makefile进行编译。
解:
编写的代码如下:
#include iostream
using namespace std;
class Point
{
public:
Pointfloat a=0, float b=0;
float getX;
float getY;
protected:
float x, y;
};
Point::Pointfloat a, float b {
x = a;
y = b;
}
float Point::getX {
return x;
}
float Point::getY {
return y;
}
int main {
Point point3.2, 4.5;
cout"point: "point.getX","point.getY""endl;
}
使用g++进行编译:g++ -o mm a.cpp,执行.mm,可以看到结果
point: 3.2,4.5。
我们把a.cpp拆分为3个文件aa.h、aa.cpp、main.cpp,分别如下。
aa.h:
#include iostream
class Point
{
public:
Pointfloat a=0, float b=0;
float getX;
float getY;
protected:
float x, y;
};
aa.cpp:
#include "aa.h"
Point::Pointfloat a, float b
{
x = a;
y = b;
}
float Point::getX
{
return x;
}
float Point::getY
{
return y;
}
main.cpp:
#include "aa.h"
using namespace std;
int main
{

Point point3.2,4.5;
cout"point: "point.getX","point.getY""endl;
}
再编写一个makefile,如下所示,执行make,也可以输出point: 3.2
,4.5。
aa.o:aa.cpp aa.h
g++ -c aa.cpp -o aa.o
main.o:main.cpp
g++ -c main.cpp -o main.o
mm:aa.o main.o
g++ -o mm aa.o main.o
例2.2 新建Circle类,继承自例2.1中的Point,进行如下操作。
1Circle类具有成员变量radius,能够计算面积,使用g++编译

2把Circle类拆分成3个文件,即circle.h、circle.cpp、
main.cpp,编写一个makefile,进行编译,达到同样的功能。
解:
1在Linux虚拟机中,使用gedit或vim编辑如下代码,命名为
mm.cpp。
#include iostream
using namespace std;
class Point
{
public:
Pointfloat a=0, float b=0;
float getX;
float getY;
protected:
float x, y;
};
Point::Pointfloat a, float b
{
x = a;
y = b;
}
float Point::getX
{
return x;
}
float Point::getY
{
return y;
}
class Circle : public Point
{
public:
explicit Circlefloat x=0, float y=0, float r=0;
void setRadiusfloat r;
float getRadius;
float area;
protected:
float radius;
};
Circle::Circlefloat a, float b, float r: Pointa,b,
radiusr
{
}
void Circle::setRadiusfloat r
{
radius = r;
}
float Circle::getRadius
{
return radius;
}
float Circle::area
{
return 3.14159*radius*radius;
}
int main
{
Point point3.2,4.5;
cout"point: "point.getX","point.getY""endl;
Circle *circle = new Circle2.4, 1.2, 5.6;
cout"Circle的面积area is: "circle-areaendl;
}
使用g++ -o mm mm.cpp,可以得到可执行性文件mm,执行.mm可以得
到结果:
g++ -o mm mm.cpp
.mm
point:3.2,4.5
Circle 的面积area is: 98.5203
这里,我们重点解释一下语句Circle::Circlefloat a, float b,
float r: Pointa,b, radiusr,这一行是Circle类的构造函数继
承了父类的构造函数,使用标识符“:”,有点像Java编程中的super
关键字,在执行子类的构造函数之前,必须先执行父类的构造函数。
在这一条语句中,子类构造函数参数a、b、r 分别传给了Pointa, b
和radiusr,对前者就是以a、b为参数,调用Point类的构造函数,
对后者就是把r的值赋给Circle类的成员变量radius。
2在例2.1中,已经将a.cpp拆分为aa.h、aa.cpp了,在本例中
,我们再把Circle类分割成circle.h、circle.cpp,分别如下:
#include "aa.h"
class Circle:public Point
{
public:
explicit Circlefloat x=0, float y=0, float r=0;
void setRadiusfloat r;
float getRadius;
float area;
protected:
float radius;
};
#include "circle.h"
Circle::Circlefloat a, float b, float r: Pointa,b,
radiusr
{
Pointa, b;
radius = r;
}
void Circle::setRadiusfloat r
{
radius = r;
}
float Circle::getRadius
{
return radius;
}
float Circle::area
{
return 3.14159*radius*radius;
}
再生成一个main.cpp,如下所示:
#include "circle.h"
#include "aa.h"
using namespace std;
int main
{
Point point3.2,4.5;
cout"point: "point.getX","point.getY""endl;
Circle *circle = new Circle2.4, 1.2, 5.6;
cout"Circle的面积area is: "circle-areaendl;
}
编写一个makefile,如下:
circle:aa.o circle.o main.o
g++ circle.o main.o aa.o -o circle
aa.o:aa.cpp aa.h
g++ -c aa.cpp -o aa.o
circle.o:circle.cpp circle.h
g++ -c circle.cpp -o circle.o
main.o:main.cpp circle.h
g++ -c main.cpp -o main.o
执行make,再执行.circle,可得上面一样的结果。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.