Linux操作系统平台

一、实验目的

1、了解Linux系统文件系统的基本组织

2、了解Linux基本的多用户权限系统

3、熟练使用ls、cd、cat、more、sudo、gcc、vim等基本命令

4、会使用ls和chmod命令查看和修改文件权限

二、实验基础

三、实验步骤

1、在Linux虚拟机中,安装下面附件中的firstrun.deb包

  1. 安装成功后,运行根目录下的/gettips可执行程序。该程序将在屏幕上给出下一步骤要探索的目录。

  1. 在第2步给出的目录中存在一个文件,请找到这个文件并将文件内容显示在屏幕上。

4、使用如下命令将文件内容提交到本次实验服务器,其中xxxxxxxxxx请用读取到的文件内容代替,iiiiiiiiiii用自己学号代替。请同学们务必正确输入自己的学号。

curl "132.232.98.70:6363/check?id=iiiiiiiiiiii&v=xxxxxxxxxx"

3.3Linux平台串口数据接收

一、实验目的

1、熟练使用Linux下io函数read、write和epoll函数

2、了解Linux设备文件机制

3、熟练使用示波器识读UART波形

二、实验说明

    实验使用示波器抓取STC单片计算机板发送的UART信号,分析该信号的波特率,根据识读到的结果编写Linux程序读取UART串口所收到的数据。

UART串口是通过移位寄存器将所传输的数据按时间顺序进行传输的方式。信号线在没有数据传输时保持高电平。信号以下降沿表示传输开始。传输开始时,UART固定传输一个码片时间的低电平作为起始位,然后开始移位所传输载荷数据的最低比特。

每次传输可以传输7比特、8比特或者9比特数据,可以选择带奇偶校验位,最后再固定传输一个码片宽度的高电平作为停止位。

例如,最主流的UART串口配置是8N1,就是1个起始位、8个数据位,1个停止位,无奇偶校验位。又例如下图所示,就是1个起始位,7个数据位,1个奇偶校验位,1个停止位。

由于UART串口没有时钟信号,所以需要通信双方约定一个码片的时间长度。人们习惯使用波特率来表示每秒钟所能发送的码片数量。码片长度越长,波特率越低;码片长度越短,波特率越高。常用的波特率有1200、1800, 2400, 4800, 9600,19200, 38400, 57600, 115200等。这次实验所用的波特率都是常用波特率。

实验所用STC单片机,下载dut1.hex文件后会主动按照以下格式发送数据。本次实验是要正确获取序列号内容。

三、实验内容

1、按照3.3.1节说明,向STC单片计算机板下载程序

2、使用示波器观察STC单片机UART串口输出信号,识别单片机发送数据所使用的波特率。

波特率= 1000000/560 =1800

  1. 根据单片机串口波特率,编写C语言程序从虚拟机的串口读取信息。下面是不完整的参考示例,可以根据自己需要进行修改。

STC单片机计算串口发出来的内容格式为:

0xAA 0x55 序列号

以上内容为二进制数据表示,共13个字节。例如:

0xAA 0x55 0xc2 0x7f 0x34 0x2b 0x16 0x14 0x4b 0x69 0x3f 0x7f 0xe9

其中 0xc2 0x7f 0x34 0x2b 0x16 0x14 0x4b 0x69 0x3f 0x7f 0xe9 就是该单片机的序列号。请用程序读出所领单片机的序列号。

4、使用如下命令将序列号提交到本次实验服务器

curl "132.232.98.70:6363/checkBaud?id=202008010118&v=c27f342b16144b693f7fe9"

3.4计算机串口数据收发与测量

一、实验目的

1、熟练使用Linux下io函数read、write和epoll等

2、熟练处理流式通信数据

二、实验过程

1、向STC单片机下载下面的程序

下载程序后,单片机将使用1200波特率发送自身序列号,格式同上一节课(3.3节内容)相同。请记录下该序列号。

2、向串口写入自己的学号,格式为

0xAA 0x55 十二位学号数字。

例如学号20220110203,应该通过串口发送以下数据

AA 55 02 00 02 02 00 01 01 01 00 02 00 03

   

3、STC单片机接收到学号后会发送第一串密码,密码长度为4字节。请将解析出该串密码并原样发回给串口。STC单品机收到返回后会继续发送下一串密码,请继续解析出该串密码并原样发回给串口。以此往复,将收到的最后一串密码记录下来。

例如,收到以下密码串

AA 55 0A 00 00 00 00 00 00 C9 34 3F 5D 

其中AA 55为前导串,0A表示起始字节是第10字节。请将密码原样发回给串口。

AA 55 C9 34 3F 5D 

4、将学号、序列号、最后一串密码发送到课程后台。上送命令语法为

curl "132.232.98.70:6363/checkSecret?id=学号&v=序列号&s=密码"

例如,序列号是A01D564D744A42C9363F5E,学号是202201110203,最后一串密码为51ED8D3A,那么上报结果命令为:

curl "132.232.98.70:6363/checkSecret?id=202201110203&v=A01D564D744A42C9363F5E&s=51ED8D3A"

理解和思考

通过本实验,我了解Linux基本的多用户权限系统,能使用ls、cd、cat、more、sudo、gcc、vim等基本命令,会使用ls和chmod命令查看和修改文件权限, 也熟练使用示波器识读UART波形,这是一个很大的进步,

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>