嵌入式期末考试报告资料.docx
- 文档编号:12453227
- 上传时间:2023-04-19
- 格式:DOCX
- 页数:12
- 大小:357.72KB
嵌入式期末考试报告资料.docx
《嵌入式期末考试报告资料.docx》由会员分享,可在线阅读,更多相关《嵌入式期末考试报告资料.docx(12页珍藏版)》请在冰豆网上搜索。
嵌入式期末考试报告资料
《嵌入式系统原理与应用》期末考试
答题卷
题目
一
二
总分
满分
50
50
100
得分
学院:
数学与计算机科学学院
专业班级:
物联网1311
姓名:
学号:
考试日期:
2016年6月15日8:
00-10:
00
得分
评卷人
一、环境温度检测显示系统设计。
(50分)
答:
1.软件流程图(或实验流程图)(4分)
2.实验步骤与相关参数配置说明(10分)
(1)、用跳线帽连接开发板上的J2、J3;
(2)、将pc和板载仿真器通过USB线相连,电源指示灯亮起;
(3)、打开串口通信软件,选择合适的串口号并将波特率设为115200、数据位为8、停止位为1;
(4)、打开CCS集成开发工具,对该工程进行编译和链接,并点击调试按键将程序下载到开发板中并进行调试模式;
(5)、运行程序。
在串口助手中输入读取温度数据的指令:
readreg0x410x012。
点击发送之后,就可以读取到相关寄存器中的温度数据,主要命令参数解释如下图:
根据温度传感器TMP006的接线原理图可以知道,该温度传感器中B1和C1管脚的主要作用是决定本传感器在I2C总线中的地址,该地址作为主机发送命令时所用的从机地址。
通过向B1和C1管脚接入不同的信号,可以实现灵活的地址选择功能,具体请看表1-4,从图中B1和C1管脚的接法可以看出,两个管脚处短接的有两个电阻,一个短接为高电平,一个短接为低电平,所以可以看出:
ADDR1=0;ADDR0=1,
图温度传感器TMP006的接线原理图
ADDR1
ADDR0
总线中的地址
0
0
1000000
0
1
1000001
0
SDA
1000010
0
SCL
1000011
1
0
1000100
1
1
1000101
1
SDA
1000110
1
SCL
1000111
根据这个表可以查找到,当ADR1=0;ADR0=1,时,即从设备地址为0x01时,在总线中的地址为1000001,将该二进制转化为16进制就是0x41了,而命令参数中的2则表示的是数据的长度。
3.实验现象简要说明(8分)
在命令窗口中输入命令后,即可看到显示的温度值,用手将CC3200上的温度传感器焐热一会后,再次输入这个命令就会发现温度会发生改变,这个CC3200自带的温度传感器有一个小问题就是对温度不太敏感,当温度发生较大变化时,这个传感器测得的值改变的很慢。
4.主要源代码及相应注释(28分)
BoardInit()函数:
进行板子的初始化;
PinMuxConfig函数:
配置引脚映射(使能UART_TX、UART_RX功能引脚);
InitTerm函数:
初始化UART相关参数;
I2C_IF_Open函数:
初始化I2C模块;
GetCmd函数:
通过串口,接收用户输入的命令数据;
ParseNProcessCmd函数:
解析用户命令,并对其进行相关操作;
ProcessReadCommand函数:
进行读相关操作;
I2CRead函数:
读出指定长度的数据;
I2CTransact函数:
启动I2C传输;
ProcessReadRegCommand函数:
进行读寄存器的操作;
I2CWrite函数:
I2C主控模块向从设置写入寄存器地址;
ProcessWriteRegCommand函数:
进行写寄存器的操作;
ProcessWriteCommand函数:
进行写相关的操作;
这个题目主要是读取温度数据,主要函数是DisplayBuffer函数,在这个函数里面,把温度数据进行格式转换,将十六进制转换成十进制,并输出显示,主要温度转换代码如下图:
此温度寄存器将测得的数据值保存的有两个长度的pucDataBuf数组中,在代码中分别用temp和temp1来获取该数组中存储的值,因为temp的值是高位上的,temp1是低位上的值,在将两个值合并存在temp2中时,要先将高位上的值左移8位(移8位是因为数据以十六进制保存的),数据合并成功后,根据寄存器的特性,要转换成正常的温度值,需要将temp2的值右移2位然后在乘以0.03125,最终才能表示正常的十进制温度值。
得分
评卷人
二、TCP客户端与TCP服务器的数据通信(50分)
答:
1.软件流程图(或实验流程图)(4分)
2.实验步骤与相关网络参数配置说明(13分)
此次实验我所使用的是手机移动网络,并用自己的数据流量开放了一个手机热点来进行模拟连接。
(注意:
以下关于IP设置都是自己根据现实情况动态修改。
)
第一步:
修改对应的IP地址,IP是自己手机上分配的
第二步:
设置手机热点,名称和密码可以自己定义
第三步:
运行代码之后,在SPU窗口可以看到内容后在输入窗口中输入3,来修改默认设置,
输入3之后会看到以下内容:
SettingOptions:
1.PORT
2.PacketCount
3.DestinationIP
4.MainMenu
Entertheoptiontouse:
然后输入1,将PORT值设置为5001,DestinationIP设置为对应手机上的那个IP地址,然后在返回菜单界面。
接下来的步骤很关键,要现在手机运行iperf软件,然后在命令行里面输入-s-i1-t100(注意空格)点击关闭那个按钮会显示为打开,
一定要先打开iper然后在SPU串口调试助手里面选择1选项,不然会报以下错误:
连接iperf成功后,在串口调试助手中选择对应的模式,输入1,就可以看到数据包发送成功。
同样的实现客户端模式,在串口调试助手中输入2,就可以看到对应的命令格式,然后在iperf中输入这个命令格式,并将iperf软件关闭重新打开一次,就可以看到接收成功。
Iperf输入参数说明:
-s:
服务器(Server)
-c:
客户端(Client)
-p:
端口(port)
-i:
打印信息的时间间隔(interval)
-M:
通过TCP_MAXSEG选项尝试设置TCP最大信息段的值
-t:
测试时间(time)
3.实验现象简要说明(8分)
当选择服务器模式时:
Iperf软件连接成功,然后开始发送数据包,在串口调试助手中看到数据包发送成功的字样,
当选择客户端模式时:
在iperf里面输入上面提示的对应的指令,就可以看到接收数据包成功。
4.主要源代码及相应注释(24分)
BoardInit()函数:
进行板子的初始化;
UDMAInit()函数:
初始化uDMA功能模块
PinMuxConfig()函数:
配置引脚映射(使能UART_TX、UART_RX)
InitTerm()函数:
配置UART相关参数:
波特率为115200,8位数据,1位停止位,无奇偶校验。
DisplayBanner(APPLICATION_NAME)函数:
通过串口线束调试信息
InitializeAppVariables()函数:
初始化相关变量
WlanConnect()函数:
无线网络连接函数,获取到自己设置的网络热点的密码,安全秘钥类型,以及热点名称后进行连接。
intBsdTcpClient(unsignedshortusPort)函数:
执行TCP客户端模式
intBsdTcpServer(unsignedshortusPort)函数:
执行TCP服务器模式
longUserInput()函数:
串口调试助手中显示的菜单信息,并且提示你需要你根据情况输入什么样的信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 期末考试 报告 资料