文档详情

嵌入式+QT实验.docx

发布:2019-03-03约2.26千字共21页下载文档
文本预览下载声明
实验一 嵌入式微处理器的开发环境 实验过程 按指导书安装ADS1.2后,创建工程文件,设置ARM Linker并输入实验代码,按“F5”运行,出现错误如下: 仔细检查后发现,代码行“AREA Example1,CODE,READONLY”没有缩进,系统无法识别指令,缩进后运行结果如下: 设置断点 查看寄存器对应结果,运行结果正确 思考 工程模板的作用在于方便程序的编译、链接与调试 选择【Project】中的【Remove object code】删除工程中的*obj文件可以强行重新编译工程的所有文件 实验二 汇编指令实验 实验过程 按实验指导书步骤,创建工程文件并输入代码,按“F7”调试代码无报错,按“F5”运行代码,结果如下: 设置断点所得结果均正确: 循环入口设置断点后,地址寄存器数据变化正确: 跳转断点运行正确: 思考 LDR伪指令用于加载32位的立即数或一个地址值到指定寄存器。在汇编编译源程序时,LDR伪指令被编译器替换成一条合适的指令。若加载的常数未超出MOV或MVN的范围,则使用MOV或MVN指令代替该LDR伪指令,否则汇编器将常量放入文字池,并使用一条程序相对偏移的LDR指令从文字池读出常量。LDR伪指令和LDR指令不是一个同东西。 指令LDR应用举例: u LDR R0, [R1, #4] ;将内存单元R1+4中的字读取到R0寄存器 其中,R1为基址,#4为偏移地址,R0为目标地址。注意,此时不更新R1。 伪指令LDR应用举例: 将0xFF0读取到R1中 LDR R1, =0xFF0 汇编后得到: MOV R1, 0xFF0 LDR/STR的前索引偏移是指在数据传送之前,将偏移量加到Rn(第一个操作数的寄存器)中,其结果作为传送数据的存储地址。若使用后缀!,则结果写回到Rn中,且Rn的值不允许为R15。 例如: LDR Rd,[Rn,#0x04] LDR R1,[R0,-R2,LSL #2] 写前索引偏移指令,要把第一个操作数寄存器和偏移量用[ ]括起来,第一个操作数作为基址,后面的作为偏移量,将两者相加后得到的地址中的内容加载到目的寄存器中去。因此,常用来处理数组等结构,如:LDR R1,[R0,-R2,LSL #2]。 选择【File】中的【Reload Current Image】重新加载映象文件实现复位程序 实验三 基于ADS的C语言程序实验 实验过程 按实验指导书步骤,创建工程文件并输入代码,按“F7”调试代码无报错,按“F5”运行代码,结果如下: 运行至“B MAIN”处的断点,成功跳转到C语言程序: 全速运行程序,得到参数sum的结果正确: 思考 Startup.s是C程序的启动引导文件,没有Startup.S文件,C程序会跑飞 实验程序中的MAIN()函数名可以更改,MAIN只是一个标记 实验四 C语言调用汇编语言程序 实验过程 按实验指导书步骤,创建工程文件并输入代码,按“F7”调试代码无报错,按“F5”运行代码,结果如下: 设置断点后成功跳转: 全速运行,sum结果正确: 思考 一开始由于Image entry point入口忘记设置,导致程序无法正确调试,后添加入口0,程序得以顺利编译 在程序中以指针形式传递参数的方法如下: char?c_data?=?55;?char?c_data?=?66;? void?funtion(?void?*para1,?void?*para2)?{? /*?函数定义*/?????return;?}? funtion(?c_data,?c_data); QT实验 试验一:Hello world程序的编写 实验二:用纯代码编写Hello world 关于实验二,直接按教程做是不可以的。打开实验一的.pro文件,发现里面比实验二的.pro文件多了一件QT += widgets,因此要在新建的helloWorld_添加了这一句之后,才能在main函数中加入#includeQApplication,这样才能成功构建程序,余下的过程都需要添加相应的头文件才能正确运行。如下图所示。 完成效果: 实验三:编写多窗口程序 实现效果:1. 2. 3. 4. HYPERLINK /?p=25 \o Permanent Link to 三、Qt Creator登录对话框 试验四、编写登录对话框 建立好工程: 实验结果: 点击退出按钮: 添加用户名密码判断功能。 实验结果: 密码正确 密码错误 在logindlg.cpp的loginDlg类构造函数里,设置LineEdit的回显模式,使输入密码时显示为小黑点。 实验结果: 如果输入如下图中的用户名,在用户名前不小心加上了一些空格,导致程序按照错误的用户名对待。可以添加trimmed()函数,其作
显示全部
相似文档