• 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波形,这是一个很大的进步,

  • 相关阅读:
    【Kubernetes快速实战】
    什么是HADOOP以及HADOOP生态圈以及各组成部分的简介
    C语言必会15个文件函数
    力扣思路题:丑数
    MySQL中LAG()函数和LEAD()函数的使用
    ARM Cortex-M 系列 MCU 芯片选型
    (2022|NIPS,CogLM,分层,LoPAR,icetk)CogView2:通过分层 Transformer 更快更好地文本到图像生成
    JVM内存模型与类加载机制
    根据文档头判断文档后缀并修改
    arduino使用esp8266开发板使用https方式读取哔哩哔哩网页粉丝数等
  • 原文地址:https://blog.csdn.net/a45667/article/details/125955246