嵌入式系统实验实验报告
- 格式:doc
- 大小:2.54 MB
- 文档页数:36
嵌入式系统实验实验报告
一、实验目的
1.基本实验
.
Word 资料搭建PXA270嵌入式LINUX开发软硬件环境;安装LINUX操
作系统;安装与配置建立宿主机端交叉编译调试开发环境;配置宿主机 PC 机端的minicom(或超级终端)、TFTP服务、NFS服务,使宿主PC机与PXA270开发板可以通过串口通讯,并开通TFTP 和NFS服务。
2.人机接口
键盘驱动;LCD控制;触摸屏数据采集与控制实验;
3.应用实验
完成VGA显示;Web服务器实验;网络文件传输实验;多线程应用实验。
4.扩展应用实验
完成USB摄像头驱动与视频采集;GPS实验;GSM/GPRS通讯;视频播放移植;USB蓝牙设备无线通讯;NFS文件服务器;蓝牙视频文件服务器。
5.QT实验
完成基本嵌入式图形开发环境搭建;“Hello world!”QT初探;创建一个窗口并添加按钮;对象通信:Signal和Slot;菜单和快捷键;工具条和状态栏;鼠标和键盘事件;对话框;QT的绘图;俄罗斯方块;基于QT的GSM手机在嵌入式LINUX下的设计与实现。
二、实验内容
1.人机接口实验
实验十九键盘驱动实验
▪实验目的:矩阵键盘驱动的编写
▪实验内容:矩阵键盘驱动的编写
▪作业要求:完成键盘加减乘除运算
▪实验作业源码及注释:
#INCLUDE
#INCLUDE
#INCLUDE
#INCLUDE
#INCLUDE
#INCLUDE
#DEFINE DEVICE_NAME “/DEV/KEYBOARD”
INT MAIN(VOID){
INT FD;
INT RET;
UNSIGNED CHAR BUF[1];
INT I,F,J;
DOUBLE X;
INT A[2]={0};
CHAR PRE_SCANCODE=0XFF;
FD=OPEN(DEVICE_NAME,O_RDWR);
IF(FD==-1)PRINTF(“OPEN DEVICE %S ERROR\N”,DEVICE_NAME);
ELSE{
BUF[0]=0XFF;
I=0;F=0;
WHILE(1){
READ(FD,BUF,1);
.
Word 资料
IF(BUF[0]!=PRE_SCANCODE) //判断是否放开按键
IF(BUF[0]!=0XFF){ //判断是否键入
PRE_SCANCODE=BUF[0];
USLEEP(50000);
SWITCH(BUF[0]){
CASE 0X12:{ //按下ENTER
SWITCH(F){ //判断运算符
CASE
1:{J=I;I=(I+1)%2;X=A[I]+A[J];PRINTF(“%D+%D=%D”, A[I],A[J],X);BREAK;}//加法
CASE 2:{J=I;I=(I+1)%2;X=A[I]-
A[J];PRINTF(“%D-%D=%D”,A[I],A[J],X);BREAK;}//减法
CASE
3:{J=I;I=(I+1)%2;X=A[I]*A[J];PRINTF(“%D*%D=%D”,A [I],A[J],X);BREAK;}//乘法
CASE
4:{J=I;I=(I+1)%2;X=A[I]/A[J];PRINTF(“%D/%D=%D”,A [I],A[J],X);BREAK;}//除法
DEFAUIT:
}
F=0;BREAK;
}
CASE 0X13:{F=1;I=(I+1)%2;BREAK;} //键入运算符
CASE 0X14:{F=2;I=(I+1)%2;BREAK;}
CASE 0X15:{F=3;I=(I+1)%2;BREAK;}
CASE 0X16:{F=4;I=(I+1)%2;BREAK;}
DEFAULT:A[I]=BUF[0]; //存入数据
}
}
}
RET=CLOSE(FD);
}
RETURN 0;
}
▪实验结果:
实验效果图
实验二十LCD控制实验
▪实验目的:了解LCD的基本原理
▪实验内容:使用总线方式驱动LCD模块,体会与QT下
LCD显示的差别
.
Word 资料▪作业要求:在目标板的LCD上显示彩色竖条纹或彩色圆环。
▪实验作业源码及注释:
#include
#include
#include
#include
#include
#define DEVICE_NAME "/dev/fb"
#define VERSION "PXA2700EP-LCD-V1.00-060530" void showversion(void)
{
printf("*********************************************\n"); printf("\t %s \t\n", VERSION);
printf("*********************************************\n\n"); }
int main(void)
{
int fd;
int ret;
int i,j,r,R;
unsigned short buf[640*480];
showversion();
printf("\nstart test_lcd test\n\n");
fd = open(DEVICE_NAME, O_RDWR);