嵌入式系统设计.docx

上传人:b****6 文档编号:6581491 上传时间:2023-01-08 格式:DOCX 页数:66 大小:1.41MB
下载 相关 举报
嵌入式系统设计.docx_第1页
第1页 / 共66页
嵌入式系统设计.docx_第2页
第2页 / 共66页
嵌入式系统设计.docx_第3页
第3页 / 共66页
嵌入式系统设计.docx_第4页
第4页 / 共66页
嵌入式系统设计.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

嵌入式系统设计.docx

《嵌入式系统设计.docx》由会员分享,可在线阅读,更多相关《嵌入式系统设计.docx(66页珍藏版)》请在冰豆网上搜索。

嵌入式系统设计.docx

嵌入式系统设计

嵌入式系统软件设计

专业:

计算机科学与技术专业

班级:

计科1班

学号:

1245713131

姓名:

张迎

一、实验一

1.实验内容:

学习QT,进行嵌入式系统界面设计,自学QT,并利用QT设计一个计算器,能实现简单的加减乘除运算。

2.QT安装过程:

在命令行输入如下指令:

1)安装g++。

2)检查g++是否安装

3)编译中间会用到。

4)修改软件权限并执行软件。

5)安装必要库文件。

6)安装完成。

3.项目名称:

zyCalculator

4.源程序:

calculator.h

#ifndefCALCULATOR_H

#defineCALCULATOR_H

#include

#include

#include

#include

classCalculator:

publicQDialog

{

Q_OBJECT

protected:

QLineEdit*lineEditor;

QPushButton*button_0;

QPushButton*button_1;

QPushButton*button_2;

QPushButton*button_3;

QPushButton*button_4;

QPushButton*button_5;

QPushButton*button_6;

QPushButton*button_7;

QPushButton*button_8;

QPushButton*button_9;

QPushButton*button_ce;

QPushButton*button_jia;

QPushButton*button_jian;

QPushButton*button_cheng;

QPushButton*button_chu;

QPushButton*button__;

QPushButton*button_dengyu;

intnum1,num2,result;//标记第一个数,第二个数和结果

boolzhenghao;//数字前面的正负号

intmark;//标记是第一个还是第二个数字

charfuhao;//运算符号

QStringS;//显示的字符串

public:

Calculator(QWidget*parent=0);

~Calculator();

privateslots:

voidbutton_0_clicked();

voidbutton_1_clicked();

voidbutton_2_clicked();

voidbutton_3_clicked();

voidbutton_4_clicked();

voidbutton_5_clicked();

voidbutton_6_clicked();

voidbutton_7_clicked();

voidbutton_8_clicked();

voidbutton_9_clicked();

voidbutton_ce_clicked();

voidbutton_jia_clicked();

voidbutton_jian_clicked();

voidbutton_cheng_clicked();

voidbutton_chu_clicked();

voidbutton__clicked();

voidbutton_dengyu_clicked();

};

#endif//CALCULATOR_H

calculator.cpp

#include

#include

#include

#include

#include

#include"calculator.h"

Calculator:

:

Calculator(QWidget*parent)

:

QDialog(parent)

{

num1=0;

num2=0;

result=0;

zhenghao=true;

mark=1;

lineEditor=newQLineEdit("0");//

S="";

button_0=newQPushButton("0");

button_1=newQPushButton("1");

button_2=newQPushButton("2");

button_3=newQPushButton("3");

button_4=newQPushButton("4");

button_5=newQPushButton("5");

button_6=newQPushButton("6");

button_7=newQPushButton("7");

button_8=newQPushButton("8");

button_9=newQPushButton("9");

button_ce=newQPushButton("CE");

button_cheng=newQPushButton("*");

button_jia=newQPushButton("+");

button_jian=newQPushButton("-");

button_chu=newQPushButton("/");

button__=newQPushButton("+/-");

button_dengyu=newQPushButton("=");

QHBoxLayout*Hl1=newQHBoxLayout;

QHBoxLayout*Hl2=newQHBoxLayout;

QHBoxLayout*Hl3=newQHBoxLayout;

QHBoxLayout*Hl4=newQHBoxLayout;

QHBoxLayout*Hl5=newQHBoxLayout;

Hl1->addWidget(lineEditor);

Hl1->addWidget(button_ce);

Hl2->addWidget(button_1);

Hl2->addWidget(button_2);

Hl2->addWidget(button_3);

Hl2->addWidget(button_jia);

Hl3->addWidget(button_4);

Hl3->addWidget(button_5);

Hl3->addWidget(button_6);

Hl3->addWidget(button_jian);

Hl4->addWidget(button_7);

Hl4->addWidget(button_8);

Hl4->addWidget(button_9);

Hl4->addWidget(button_cheng);

Hl5->addWidget(button__);

Hl5->addWidget(button_0);

Hl5->addWidget(button_dengyu);

Hl5->addWidget(button_chu);

QVBoxLayout*V1=newQVBoxLayout;

V1->addLayout(Hl1);

V1->addLayout(Hl2);

V1->addLayout(Hl3);

V1->addLayout(Hl4);

V1->addLayout(Hl5);

connect(button_0,SIGNAL(clicked()),this,SLOT(button_0_clicked()));

connect(button_1,SIGNAL(clicked()),this,SLOT(button_1_clicked()));

connect(button_2,SIGNAL(clicked()),this,SLOT(button_2_clicked()));

connect(button_3,SIGNAL(clicked()),this,SLOT(button_3_clicked()));

connect(button_4,SIGNAL(clicked()),this,SLOT(button_4_clicked()));

connect(button_5,SIGNAL(clicked()),this,SLOT(button_5_clicked()));

connect(button_6,SIGNAL(clicked()),this,SLOT(button_6_clicked()));

connect(button_7,SIGNAL(clicked()),this,SLOT(button_7_clicked()));

connect(button_8,SIGNAL(clicked()),this,SLOT(button_8_clicked()));

connect(button_9,SIGNAL(clicked()),this,SLOT(button_9_clicked()));

connect(button_jia,SIGNAL(clicked()),this,SLOT(button_jia_clicked()));

connect(button_jian,SIGNAL(clicked()),this,SLOT(button_jian_clicked()));

connect(button_cheng,SIGNAL(clicked()),this,SLOT(button_cheng_clicked()));

connect(button_chu,SIGNAL(clicked()),this,SLOT(button_chu_clicked()));

connect(button_dengyu,SIGNAL(clicked()),this,SLOT(button_dengyu_clicked()));

connect(button_ce,SIGNAL(clicked()),this,SLOT(button_ce_clicked()));

connect(button__,SIGNAL(clicked()),this,SLOT(button__clicked()));

setLayout(V1);

}

Calculator:

:

~Calculator()

{

}

voidCalculator:

:

button_0_clicked()

{

S+="0";

lineEditor->setText(S);

if(mark==1){

num1=num1*10+0;

}else{

num2=num2*10;

}

}

voidCalculator:

:

button_1_clicked(){

S+="1";

lineEditor->setText(S);

if(mark==1){

if(zhenghao){

num1=num1*10+1;

}else{

num1=num1*10-1;

}

}else{

if(zhenghao){

num2=num2*10+1;

}else{

num2=num2*10-1;

}

}

}

voidCalculator:

:

button_2_clicked(){

S+="2";

lineEditor->setText(S);

if(mark==1){

if(zhenghao){

num1=num1*10+2;

}else{

num1=num1*10-2;

}

}else{

if(zhenghao){

num2=num2*10+2;

}else{

num2=num2*10-2;

}

}

}

voidCalculator:

:

button_3_clicked(){

S+="3";

lineEditor->setText(S);

if(mark==1){

if(zhenghao){

num1=num1*10+3;

}else{

num1=num1*10-3;

}

}else{

if(zhenghao){

num2=num2*10+3;

}else{

num2=num2*10-3;

}

}

}

voidCalculator:

:

button_4_clicked(){

S+="4";

lineEditor->setText(S);

if(mark==1){

if(zhenghao){

num1=num1*10+4;

}else{

num1=num1*10-4;

}

}else{

if(zhenghao){

num2=num2*10+4;

}else{

num2=num2*10-4;

}

}

}

voidCalculator:

:

button_5_clicked(){

S+="5";

lineEditor->setText(S);

if(mark==1){

if(zhenghao){

num1=num1*10+5;

}else{

num1=num1*10-5;

}

}else{

if(zhenghao){

num2=num2*10+5;

}else{

num2=num2*10-5;

}

}

}

voidCalculator:

:

button_6_clicked(){

S+="6";

lineEditor->setText(S);

if(mark==1){

if(zhenghao){

num1=num1*10+6;

}else{

num1=num1*10-6;

}

}else{

if(zhenghao){

num2=num2*10+6;

}else{

num2=num2*10-6;

}

}

}

voidCalculator:

:

button_7_clicked(){

S+="7";

lineEditor->setText(S);

if(mark==1){

if(zhenghao){

num1=num1*10+7;

}else{

num1=num1*10-7;

}

}else{

if(zhenghao){

num2=num2*10+7;

}else{

num2=num2*10-7;

}

}

}

voidCalculator:

:

button_8_clicked(){

S+="8";

lineEditor->setText(S);

if(mark==1){

if(zhenghao){

num1=num1*10+8;

}else{

num1=num1*10-8;

}

}else{

if(zhenghao){

num2=num2*10+8;

}else{

num2=num2*10-8;

}

}

}

voidCalculator:

:

button_9_clicked(){

S+="9";

lineEditor->setText(S);

if(mark==1){

if(zhenghao){

num1=num1*10+9;

}else{

num1=num1*10-9;

}

}else{

if(zhenghao){

num2=num2*10+9;

}else{

num2=num2*10-9;

}

}

}

voidCalculator:

:

button_jia_clicked(){

S+="+";

lineEditor->setText(S);

zhenghao=true;

fuhao='+';

mark=2;

}

voidCalculator:

:

button_jian_clicked(){

S+="-";

lineEditor->setText(S);

zhenghao=true;

fuhao='-';

mark=2;

}

voidCalculator:

:

button_cheng_clicked(){

S+="*";

lineEditor->setText(S);

zhenghao=true;

fuhao='*';

mark=2;

}

voidCalculator:

:

button_chu_clicked(){

S+="/";

lineEditor->setText(S);

zhenghao=true;

fuhao='/';

mark=2;

}

voidCalculator:

:

button__clicked(){

S+="-";

lineEditor->setText(S);

zhenghao=false;

}

voidCalculator:

:

button_dengyu_clicked(){

S+="=";

//lineEditor->setText(S);

switch(fuhao){

case'+':

result=num1+num2;break;

case'-':

result=num1-num2;break;

case'*':

result=num1*num2;break;

case'/':

if(num2)result=num1/num2;break;

}

inti=0;

intresult1=result;

while(result1){

i++;

result1/=10;

}

for(;i;i--){

S+=(result/(int)pow(10,i-1)+'0');

result%=(int)pow(10,i-1);

}

lineEditor->setText(S);

zhenghao=true;

num1=num2=0;

mark=1;

S="";

}

voidCalculator:

:

button_ce_clicked()

{

zhenghao=false;

S="";

lineEditor->setText("0");

num1=num2=0;

mark=1;

}

main.cpp

#include"calculator.h"

#include

intmain(intargc,char*argv[])

{

QApplicationa(argc,argv);

Calculatorw;

w.show();

returna.exec();

}

5.计算器工程测试:

a)执行加法

b)执行减法

c)执行乘法

d)执行除法

二、实验二

1.实验内容:

根据目前应用较多的Android系统,自己搭建Android开发环境,并利用模拟器自行设计应用例程。

2.搭建java开发环境步骤:

1)下载jdk-7u79-linux-i586

2)直接解压到/home/zhangying目录下:

3)设置JDK环境变量:

4)在profile文件中增加以下内容:

5)保存退出,输入以下命令使之立即生效。

然后注销或者重启系统。

这边还可以用另一种方法:

在.bashrc在增加以下内容:

然后保存退出,然后输入下面的命令来使之生效:

6)但是执行java–version时又出现了问题。

解决方法:

7)javac时又出现了问题:

解决方法:

3.搭建android开发环境步骤:

1)从网上下载adt-bundle-linux-x86-20131030.

2)直接解压到/home/zhangying目录下:

3)右击adt-bundle-linux-x86-20131030\eclipse下的eclipse,选择创建链接,则得到一个快捷方式。

4)把“到eclipse的链接”移动到桌面,或者拖到桌面。

然后重命名。

5)下面,为这个快捷方式添加图标。

右击这个快捷方式,属性,然后点击图标按钮。

6)最后:

7)新建android项目,发现项目无法生成R.java文件导致项目出错。

解决方案:

◆此类问题解决方法总结:

在Ubuntu系统中,打开eclipse中的android工程,发现工程不能自动生成R.java。

原因如下:

1.ADT安装不正确,和SDK不匹配

解决方法:

都下载最新的版本,或者重新下载ADT

2.没有clean后重新build

解决方法:

取消自动编译,clean后手动build工程

3.androidsdk中可执行文件权限不正确。

解决方法:

检查androidsdk中的可执行文件权限,确认所有的都有可执行权限

#sudochmoda+xsdk/*-R

4.丢失R.java的解决方法:

第1种方法:

右击工程->选择AndroidTools->选择FixProjectProperties

第2种方法:

右击工程->选择Properties->选择Android->Apply

运行android项目时出现以下问题:

DescriptionResourcePathLocationType

Errorgeneratingfinalarchive:

Failedtocreatekey:

Cannotrunprogram"/home/zhangying/jdk1.7.0_79/jre/bin/keytool":

error=13,权限不够

JAVA_HOMEissetto:

/home/zhangying/jdk1.7.0_79/jre

Updateitifnecessary,ormanuallyexecutethefollowingcommand:

/home/zhangying/jdk1.7.0_79/jre/bin/keytool-genkey-aliasAndroidDebugKey-keyalgRSA-dname"CN=AndroidDebug,O=Android,C=US"-validity10950-keypassandroid-keystore/home/zhangying/.android/debug.keystore-storepassandroidFirstAndroidUnknownAndroidPackagingProblem

解决方法:

4.项目名称:

Weather

5.源程序:

ISmsDao.java主要代码

packagecom.example.weather;

importjava.util.List;

importcom.zy.bean.Sms;

importcom.zy.bean.Weather;

publicinterfaceIS

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1