合肥工业大学嵌入式系统原理实验报告

news2024/12/23 22:30:50

✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆
🔥系列专栏 :
📃新人博主 :欢迎点赞收藏关注,会回访!
💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!没有人会关心你付出过多少努力,撑得累不累,摔得痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷。


文章目录

《嵌入式系统原理》课程实验报告

| 实验名称 | 熟悉 Linux 开发环境 |  |  |
| --- | --- | --- | --- |
| 实验日期 | 2022年5月14日 | 实验成绩 |   |

| 一、 实验目的和要求
熟悉Linux开发环境,学会基于Tiny6410的Linux开发环境的配置和使用。 使用Linux的arm-Linux-gcc编译,并使用minicom串口方式下载和调试程序。 | | | |
| 二、实验内容
1.实验内容
本次实验使用Fedora 9.0操作系统环境,安装ARM-Linux的开发库及编译 器。创建一个新目录,并在其中编写hello.c和Makefile文件。学习在Linux下 的编程和编译过程,以及ARM开发板的使用和开发环境的设置。下载已经编译好的文件到目标开发板上运行。
2. 实验设备及工具(包括软件调试工具)
硬件:Tiny6410嵌入式实验平台。
软件:PC机操作系统Fedora9+MINICOM+ARM-Linux 开发环境
3. 实验步骤
1)登录win7系统,使用管理员权限打开VMware虚拟机软件。通过编辑此虚拟机选项,添加串行通信端口,并确认使用物理串行端口中为“自动选择串口”选项。启动Fedora系统,用户和密码都为knight
2)打开终端,建立hello工作目录(此时会在home目录下)。使用vi hello.c,打开编辑器,i进入编辑模式,编写下列程序,并ESC,wq保存并退出。
#include<stdio.h>
int main()
{
printf(“Hello,HFUT!”);
printf(“2020210xxx,2020210xxx||2022-5-14”);
return 0;
}
3)编写Makefile。与上面编写hello.c的过程类似,用vim来创建一个Makefile文件并将代码录入其中。然后使用make命令来编译程序。
CC=arm-linux-gcc
EXEC=hello
OBJS=hello.o
CFLAGS+=
LDFLAGS+=
all 😒(EXEC)
( E X E C ) : (EXEC): (EXEC):(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS)
clean:
rm – f $(EXEC) .elf.gdb*.o
~
4)下载调试。输入su root密码kniht进入root用户。在终端输入minicom 回车,出现下面图片表示串口连接正常。(关闭minicom请先按Ctrl+A,再按X。不要使用界面右上角的×退出,否则 会在下一次执行minicom命令时提示被锁定,拒绝访问。)

按Ctrl+A+S,选择zmodem 回车后,提示输入绝对路径或者通过键盘快捷键选择文件后,回车。

若出现下图提示Tiny6410板子已经有了hello可执行文件(之前下载的),若需要下载,则需要删除之前的hello文件,rm hello即可。可以通过ls命令查看是否删除成功。

删除之后重新执行上述步骤。出现下图,则下载成功。

5)运行程序。在电脑终端输入./hello,或者在Tiny6410终端输入hello都可。 | | | |
| 二、 实验验收结果及其分析
实验验收情况为:通过验收
实验修改要求:将原程序中显示的“Hello,World!”修改为“Hello, HFUT!”,并增加 一行,显示本人学号和实验日期,显示格式为:“201*******||2021-05-08”
实验结果截图:

分析:实验时只需要将hello.c中的文件中重写编写内容,内容中输入学号。然后相应的路径下执行shell命令make clean 删除之前编译的结果,然后make重新编译,再通过minicom重新写入。注意关闭minicom请先按Ctrl+A,再按X。不要使用界面右上角的×退出,否则 会在下一次执行minicom命令时提示被锁定,拒绝访问。 | | | |

《嵌入式系统原理》课程实验报告

实验名称实验二 汇编点亮 LED
实验日期2022年5月14日实验成绩
一、实验目的和要求
学会Linux系统中开发汇编程序的步骤和方法。在此基础上,掌握通过汇编 程序访问GPIO端口,以实现控制Tiny6410开发板上LED的方法。
二、实验内容
1. 实验内容
本次实验使用Fedora 9.0操作系统环境,安装ARM-Linux的开发库及编译 器。学习在Linux下的编程和编译过程,即创建一个新目录leds_s,使用编辑器 建立start.S和Makefile文件,并使用汇编语言编写LED控制程序。编译程序, 并下载文件到目标开发板上运行。

2. 实验设备及工具(包括软件调试工具)
硬件:Tiny6410嵌入式实验平台。
软件:PC机操作系统Fedora9+MiniTools+ARM-Linux开发环境
3.实验原理
1)Tiny6410开发板上提供了4个可编程用户LED,原理图如下:
| | | |
| 可见,LED1、2、3、4分别使用的CPU GPIO端口资源为GPK_4、5、6、7。
2)点亮LED控制原理
点亮4个LED需如下2个步骤:把 外 设 的 基 地 址 告 诉 CPU 。 对 于 6410 来 说 , 内 存 的 地 址 范 围 为 0x00000000-0x60000000,外设的地址范围为0x70000000-0x7fffffff。 l 关闭看门狗,防止程序不断重启;设置寄存器GPKCON0,使GPK_4/5/6/7 四个引脚为输出功能;往寄存器GPKDAT写0,使GPK_4/5/6/7四个引脚输 出低电平,4个LED会亮;相反,往寄存器GPKDAT写1,使GPK_4/5/6/7四 个引脚输出高电平,4个LED会灭。
4. 实验步骤
1)建立工作目录leds。点击【虚拟机】菜单中的【设置】,选择【选项】中的“共享文件夹”,添加Windows系统中的桌面路径为共享文件夹。在Windows系统的桌面上,右键 复制leds文件夹,然后进入虚拟机当前用户的Home目录,使用右键粘贴,将文件夹从windows系统复制到虚拟机的系统中。
2)编写源代码
start.S的汇编源程序如下:

Makefile文件如下:

注意在makefile文件路劲下使用make命令,系统会执行如下操作:
a) 执行arm-Linux-gcc-o $@ $< -c命令,将当前目录下存在的汇编文件和 C文件编译成.o文件;
b) 执行arm-Linux-ld -Ttext 0x50000000 -o led.elf $^,将所有.o文件链接 成 elf 文 件 , -Ttext 0x50000000 表示程序的运行地址是 0x50000000, 即程序只有位于该地址上才能正常运行;
c) 执行arm-Linux-objcopy -O binary led.elf led.bin,将elf文件抽取为可在开发板上运行的bin文件;
d) 执行arm-Linux-objdump -D led.elf > led_elf.dis,将elf文件反汇编后保存在dis文件中,调试程序时可能会用到。
3)编译及下载程序:
l 编译代码
在root用户下的终端执行cd leds和make命令,生成led.bin文件。
l 烧写和运行程序
在 windows系统中,以管理员权限使用 SD-Flasher程序,将引导程序 Superboot-6410.bin烧入SD卡。成功烧写后的结果如下图所示:

在SD卡中建立一个images文件夹,并把配置文件FriendlyARM.ini复制到该文件夹中。双击打开SD卡中的该配置文件,在任意位置加入以下内容:USB-Mode = yes (注意字符的大小写)。如下图所示:

将烧写完成的SD卡,插入Tiny6410开发板的SD卡槽,并将开发板S2拨动开关置于SDBOOT位置,然后打开开发板电源,开发板将进入USB下载模式,LCD显 示屏上显示“USB Mode:Waiting…”。此时用MiniUSB线连接开发板与PC机, LCD上会显示“USB Mode:Connected”。 在windows系统中,以管理员身份运行MiniTools软件,打开如下软件界面:

确认界面下方显示绿色图标,表明MiniTools已通过MiniUSB线与开发板成功连接。接着,选择Install to NAND Flash,表示将裸机程序烧入NAND Flash, 但不 需 要 运 行 。 设 置 好 下 载 地 址 “ RAM Address(Download/Loading) =0x50000000 ” , 同 时 勾 选 Superboot , 并 选 择 烧 写 时 需 要 的 引 导 程 序 Superboot-6410.bin和要烧写的裸机程序。最后,点击【Start flashing】按 钮,执行选择的某一裸机程序(bin文件)烧写。成功后显示如下信息,然后关闭开发板电源,将S2拨动开关置于NAND位置,然后重新开启开发板电源, 则开发板运行刚刚烧入的裸机程序。

4)观察现象,可以看到LED灯呈现四个全亮,然后1和2亮(3和4灭),然后3和4亮(1和2灭),最后全灭的周期现象。
三、实验验收结果及其分析
实验验收情况为:通过验收
实验修改要求:在延时不变的条件下,将原程序中四个LED全亮,然后全灭的显示状态,修改为“四个全亮,然后1和2亮(3和4灭),然后3和4亮(1和2灭),最后全灭”。
实验结果截图:


实验分析:
Start.S函数中,首先把外设地址告和设置好的外设大小告诉CPU,然后关闭看门狗,然后将GPKCON的4567位设置为1,输出管脚。然后配置GPKDAT中的数据寄存器。GPKDAT的4、5、6、7引脚输出低电平,设置为GPKDAT = 0x0,则led全亮;GPKDAT 的4、5引脚输出低电平,设置GPKDAT = 0xc0,则12灯亮,34灯灭;GPKDAT 的6、7引脚设置低电平,设置GPKDAT = 0x30则34灯亮12灯灭,GPKDAT 的4、5、6、7引脚全为高电平,设置GPKDAT = 0xf0,则led灯全灭。修改代码见下图:


注意在烧写时要连接主机后面的USB接口,烧写完成后,要关闭开发板电源,将S2拨动开关置于NAND位置,然后重新开启开发板电源, 则开发板运行刚刚烧入的裸机程序。 | | | |

《嵌入式系统原理》课程实验报告

实验名称实验四 按键中断实验
实验日期2022年5月21日实验成绩
一、实验目的和要求
学会Linux系统中开发C程序的步骤和方法。在此基础上,掌握通过汇编程 序实现Tiny6410中断控制器初始化及通过C程序实现中断处理的方法。
二、实验内容
1. 实验内容
本次实验使用Fedora 9.0操作系统环境,安装ARM-Linux的开发库及编译 器。学习在Linux下的编程和编译过程,即创建一个新目录irq,使用编辑器建 立start.S、main.c、irq.c和Makefile等文件,并使用C语言编写中断处理程序。 编译程序,并下载文件到目标开发板上运行。
当K1按下时,LED1和LED2被点亮;当K2按下时,LED3和LED4被点亮;当K3按下时,LED1和LED3被点亮;当K4按下时,LED2和LED4被点亮。
2. 实验设备及工具(包括软件调试工具)
硬件:Tiny6410嵌入式实验平台。
软件:PC机操作系统Fedora9+MiniTools+ARM-Linux开发环境
3.实验原理
1)按键硬件原理图 Tiny6410中共有8个用户按键,原理图如下:

相关的引脚信息如下图:

2)中断控制原理
把外设的基地址告诉CPU。对于6410来说, 内存的地址范围为 0x00000000-0x60000000,外设的地址范围为0x70000000-0x7fffffff。关闭看门狗,防止程序不断重启;设置寄存器GPNCON,使接按键K0~K5 的GPN0~GPN5为中断功能;设置寄存器EINT0CON0,使按键的中断触发 信号采用下降沿触发;设置寄存器EINT0MASK,使按键对应的中断使能; 设置VIC0INTSELECT,使对应中断源工作于IRQ模式。在中断处理函数中,查询寄存器EINT0PEND,判断哪个中断发生,进而识别对应的按键。最后,向寄存器EINT0PEND对应位写“1”,以实现清除中断标记。
4.实验步骤

  1. 建立工作目录irq。编写源代码,Start.S如下:
    | | | |
    |
    irq.c文件如下:


    main.c文件如下

    makefile文件如下

    2)编译及下载程序
    切换到root用户,然后用cd命令进入到该文件夹下,执行make命令,生成irq.bin文件。然后按实验二给出的方法下载程序后,关闭开发板电源,首先将启动模式拨动开关S2拨动至“NAND”位置,然后重新开启开发板电源。当按下K1时,LED1点亮;按下K2时, LED2点亮;按下K3时,LED3点亮;按下K4时,所有LED熄灭。
    3)实验修改
    当K1按下时,LED1和LED2被点亮;当K2按下时,LED3和LED4被点亮;当K3按下时,LED1和LED3被点亮;当K4按下时,LED2和LED4被点亮。
    原函数为K1按下时LED1灯亮,K2按下时,LED2灯亮,K3按下时,LED3灯亮,K4按下时,所有LED灯熄灭。实现方法为循环4次,首先若EINTPEND中有为1的值,则代表有相应的中断请求,通过循环中的i变量,即可得到相对位置,i+4则为它在GPKDATA比特串的实际位置,则GPKDATA相应位置设置为低电平输出管脚,相应的LED灯会亮,最后查询K4按键是否被按下,若被按下则所有LED灭。

    为实现当K1按下时,LED1和LED2被点亮;当K2按下时,LED3和LED4被点亮;当K3按下时,LED1和LED3被点亮;当K4按下时,LED2和LED4被点亮。
    只需编写一个循环,i循环1-4,如果EINT0PEND & (1<<i) == 1,则代表有相应的中断请求,如果是按键1中断,则GPKDATA ^= 0x30, LED1和LED2灯亮;如果是按键2中断,则GPKDATA ^= 0xa0,LED3和LED4灯亮; 如果是按键3中断,则GPKDATA ^= 0x50, LED1和LED3灯亮; 如果是按键4中断,则GPKDATA ^= 0xc0, LED2和LED4灯亮;程序如下图:

    三、实验验收结果及其分析
    实验验收情况为:通过验收
    实验修改要求:实现当K1按下时,LED1和LED2被点亮;当K2按下时,LED3和LED4被点亮;当K3按下时,LED1和LED3被点亮;当K4按下时,LED2和LED4被点亮。
    实验结果截图:




    实验分析:
    为实现当K1按下时,LED1和LED2被点亮;当K2按下时,LED3和LED4被点亮;当K3按下时,LED1和LED3被点亮;当K4按下时,LED2和LED4被点亮。
    只需编写一个循环,i循环1-4,如果EINT0PEND & (1<<i) == 1,则代表有相应的中断请求,如果是按键1中断,则GPKDATA ^= 0x30, LED1和LED2灯亮;如果是按键2中断,则GPKDATA ^= 0xa0,LED3和LED4灯亮; 如果是按键3中断,则GPKDATA ^= 0x50, LED1和LED3灯亮; 如果是按键4中断,则GPKDATA ^= 0xc0, LED2和LED4灯亮;程序如下图:
    修改之前:

    修改后:

| | | |

《嵌入式系统原理》课程实验报告

实验名称实验五 PWM 定时器实验
实验日期2022年5月21日实验成绩
一、实验目的和要求
学会Linux系统中开发C程序的步骤和方法。在此基础上,掌握通过C程序实现Tiny6410定时器初始化及中断处理的方法。
二、实验内容
1. 实验内容
本次实验使用Fedora 9.0操作系统环境,安装ARM-Linux的开发库及编译 器。学习在Linux下的编程和编译过程,即创建一个新目录timer,使用编辑器 建立start.S、main.c、timer.c和Makefile等文件。编译程序,并下载文件到 目标开发板上运行。
将1秒定时到达后四个LED灯同时亮/灭,修改为四个LED灯按流水灯方式循环显示(LED1→LED2→LED3→LED4→LED1→……)。
2. 实验设备及工具(包括软件调试工具)
硬件:Tiny6410嵌入式实验平台。
软件:PC机操作系统Fedora9+MiniTools+ARM-Linux开发环境
3. 实验原理
1)PWM定时器
S3C6410内部包含五个32位定时器0~4。这些计时器通过产生内部定时中断 来与ARM微处理器交互。
2)中断控制原理
把外设的基地址告诉CPU。对于6410来说, 内存的地址范围为 0x00000000-0x60000000,外设的地址范围为0x70000000-0x7fffffff。关闭看门狗,防止程序不断重启;设置寄存器GPNCON,使接按键K0~K5 的GPN0~GPN5为中断功能;设置寄存器EINT0CON0,使按键的中断触发 信号采用下降沿触发;设置寄存器EINT0MASK,使按键对应的中断使能; 设置VIC0INTSELECT,使对应中断源工作于IRQ模式。在中断处理函数中,查询寄存器EINT0PEND,判断哪个中断发生,进而识别对应的按键。最后,向寄存器EINT0PEND对应位写“1”,以实现清除中断标记。
4.实验步骤
1)编写工作目录timer,编写源程序代码。Start.S的汇编源程序如下
Timer.C文件如下:
Main.c文件如下
Makefile文件如下
2)编译及下载程序
切换到root用户,然后用cd命令进入到该文件夹下,执行make命令,生成timer.bin文件。然后按实验二给出的方法下载程序后,关闭开发板电源,首先将启动模式拨动开关S2拨动至“NAND”位置,然后重新开启开发板电源。初始状态4个灯全灭,每当定时器的1秒定时到达后,四个LED切换状态(灭->亮/亮->灭)。
3)实验修改
将1秒定时到达后四个LED灯同时亮/灭,修改为四个LED灯按流水灯方式循环显示(LED1→LED2→LED3→LED4→LED1→……)。
原函数为每当定时器的1秒定时到达后,四个LED切换状态(灭->亮/亮->灭)。实现过程为每当定时器的1秒定时达到后,将GPKDATA按位取反,即可实现4个LED灯的同时全亮和同时全灭,修改为四个LED灯按流水灯方式循环显示(LED1→LED2→LED3→LED4→LED1→……)。修改方法为修改timer.c中的do_irq()函数,因为要想实现流水线式的循环亮灭,需要定义一个全局变量count,然后编写一个循环,GKPDATA = ~(1<<4+(count%4)));然后count++,即可实现对GPKDATA的4、5、6、7输出端口分别置0(每次只有一个被置0,其他为1,代表每次亮一个灯),即可实现四个LED灯按流水灯方式循环显示(LED1→LED2→LED3→LED4→LED1→……)。
三、 实验验收结果及其分析
实验验收情况为:通过验收
实验修改要求:将1秒定时到达后四个LED灯同时亮/灭,修改为四个LED灯按流水灯方式循环显示(LED1→LED2→LED3→LED4→LED1→……)。
实验结果截图:



实验分析:
将1秒定时到达后四个LED灯同时亮/灭,修改为四个LED灯按流水灯方式循环显示(LED1→LED2→LED3→LED4→LED1→……)。
原函数为每当定时器的1秒定时到达后,四个LED切换状态(灭->亮/亮->灭)。实现过程为每当定时器的1秒定时达到后,将GPKDATA按位取反,即可实现4个LED灯的同时全亮和同时全灭。
修改为四个LED灯按流水灯方式循环显示(LED1→LED2→LED3→LED4→LED1→……)。修改方法为修改timer.c中的do_irq()函数,因为要想实现流水线式的循环亮灭,需要定义一个全局变量count,然后编写一个循环,GKPDATA = ~(1<<4+(count%4)));然后count++,即可实现对GPKDATA的4、5、6、7输出端口分别置0(每次只有一个被置0,其他为1,代表每次亮一个灯),即可实现四个LED灯按流水灯方式循环显示(LED1→LED2→LED3→LED4→LED1→……)。
修改后的代码如下:

| | | |

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/592766.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hive库表基本操作

Hive基本操作-库、表 规则语法 大小写规则: 1. hive的数据库名、表名都不区分大小写 2. 建议关键字大写 复制代码 命名规则&#xff1a; 1. 名字不能使用数字开头 2. 不能使用关键字 3. 尽量不使用特殊符号 复制代码 库操作语法 创建数据库 创建数据库的本质就是在hive…

基于UNnet(backbone=resnet34) 对 PASCAL VOC 的分割

目录 1. 介绍 2. tools 代码文件夹 2.1 get_palette 2.2 transform 3. train 部分 4. 结果展示 1. 介绍 本文使用resnet 34作为backbone代替传统unet的 vgg&#xff0c;实现对PASCAL VOC的分割 训练了两百个epoch后&#xff0c;mean iou到达了0.4左右&#xff0c;没…

如何管理银行多网点监控?用这方法就够了!

随着科技进步和生活水平的不断提高&#xff0c;人们对于餐饮消费的需求也逐渐变得多样化和个性化。 高校食堂现状分析 01.信息化水平低&#xff0c;学校管理难&#xff0c;无法精准就餐&#xff1b; 02用户满意度低&#xff0c;学生取餐环节效率低&#xff1b; 03.管理效率低…

音视频入门

1 音视频核心知识 1.1 视频录制原理 1.2 视频&#xff08;音频视频&#xff09;播放原理 2 图像基础概念 2.1 像素 2.2 分辨率 隔行扫描 逐行扫描 2.3 位深 RGB 通常每个通道用8bit表示 每个通道位深越大&#xff0c;能够表示的颜色值就越大 2.4 帧率 帧率越高&#xff…

Web的基本漏洞--CSRF漏洞

目录 一、CSRF漏洞介绍 1.CSRF漏洞原理 2.CSRF漏洞的类型 3.漏洞识别 4.漏洞攻击 5.CSRF漏洞的危害 6.CSRF漏洞防御 7.CSRF和XSS的区别 一、CSRF漏洞介绍 1.CSRF漏洞原理 CSRF&#xff08;cross site request forgery&#xff09;是指跨站请求伪造,是指利用受害者尚未…

智慧工厂~经典开源项目数字孪生智慧工厂——开源工程及源码

以领先的数字孪生技术为基础&#xff0c;全面打造智慧工厂。现有云南某大型汽车加工厂工程和源码免费赠送&#xff01; 项目介绍 智慧工厂基于数字孪生技术创建了一个真实的三维模型场景。通过对传感器和机器的数据采集、分析处理&#xff0c;实时监控各生产环节&#xff0c;优…

CS5523规格书|MIPI 转DP/eDP转换芯片|DSI转DP/eDP转换芯片

ASL CS5523是MIPI DSI输入、DP/e DP输出转换芯片。MIPI DSI最多支持4个通道&#xff0c;每个通道的最大运行速度为1.5Gps。对于DP 1.2输出&#xff0c;它由4个数据通道组成&#xff0c;支持1.62Gbps和2.7Gbps的链路速率。支持1.62Gbps和2.7Gbps的链路速率。它支持2560的最高分辨…

chatgpt赋能python:Python中最大公约数的函数介绍

Python中最大公约数的函数介绍 在数学中&#xff0c;最大公约数&#xff08;GCD&#xff09;是两个或多个整数的最大公约数。 Python是一种高级编程语言&#xff0c;具有内置的GCD函数。在本篇文章中&#xff0c;我们将介绍Python中的最大公约数函数&#xff0c;以及如何使用它…

【C++】类和对象 - 封装 - 属性和行为,访问权限,class 和 struct区别,成员属性私有化

No.Contents1【C】基础知识 - HelloWorld&#xff0c;注释&#xff0c;变量&#xff0c;常量&#xff0c;关键字&#xff0c;标识符2【C】数据类型 - 整型&#xff0c;sizeof&#xff0c;实型&#xff0c;字符型&#xff0c;转义字符&#xff0c;字符串类型&#xff0c;布尔类型…

web前端 -- javascript(02) -- 数据类型转换、常见运算符及顺序、选择和循环结构

数据类型转换 &#xff08;1&#xff09;自动类型转换&#xff1a; 特点&#xff1a;低类型自动向高类型进行转换 boolean < int < float < string PS&#xff1a; boolean类型如果与数值型进行运算&#xff1a;true 1&#xff1b;false 0其他基本数据类型与字符串…

whistle以及谷歌插件Proxy SwitchyOmega实现代理

whistle提供本地服务器&#xff0c;以及代理 Proxy SwitchyOmega拦截浏览器的网络请求&#xff0c;指向whistle服务 ip 为什么要用它们呢&#xff1f; 其实一开始使用的是mac的charles&#xff0c;但是出现了网页上传文件数据的时候会被篡改&#xff0c;也可能是我配置的原因…

声明式事务控制

声明式事务控制 编程式事务控制相关对象 PlatformTransactionManager PlatformTransactionManager接口是spring的事务管理器&#xff0c;它里面提供了常用的操作事务的方法 方法说明TransactionStatus getTransaction(TransactionDefaultion defination)获取事务的状态信息…

外贸跨境商城系统-后台采集-外贸跨境电商平台搭建

一、外贸跨境商城系统框架 欢迎名片交流 JAVA语言 后端: SpringBoot, Mysql8.0, Redis, Nginx 手机端&#xff1a;uniapp, H5, App打包 前端布局&#xff1a;H5端、PC电脑端、APP端、小程序端 后台&#xff1a;总后台管理、商家后台管理 二、外贸跨境商城基础功能架构…

Chrome浏览器的自动播放限制策略(原文)

客户&#xff1a;为什么明明我设为自动播放了&#xff0c;却无法自动播放&#xff1f;我&#xff1a;#$%^#~客户&#xff1a;为什么其他浏览器可以自动播放&#xff0c;Chrome浏览器不能自动播&#xff0c;您们产品有问题...我&#xff1a;^$&*^(*&^(*% 好吧&#xff…

【CesiumJS入门】(0)专栏介绍&项目搭建

前言 开了一个新的专栏&#xff0c;叫【CesiumJS入门】&#xff0c;因为自己也是初学者&#xff0c;所以专栏主要是记录自己学习CesiumJS的过程&#xff0c;如果还能给后来者带来一点参考那就真是太好了。 本项目的仓库地址&#xff1a;https://gitee.com/cswwww/cesium-tyro…

Python入门教程+项目实战-13.1节-集合基础概念

目录 13.1.1 理解集合类型 13.1.2 集合的类型名 13.1.3 集合的定义 13.1.4 在循环中遍历集合 13.1.5 集合的元素输出顺序 13.1.6 知识要点 13.1.7 系统学习python 13.1.1 理解集合类型 集合类型与字典类型非常接近&#xff0c;Python中的集合类型也是用{}符号括住的一个…

Zemax Lumerical | 二维光栅出瞳扩展系统优化(下)

简介 本文提出并演示了一种以二维光栅耦出的光瞳扩展&#xff08;EPE&#xff09;系统优化和公差分析的仿真方法。 在这个工作流程中&#xff0c;我们将使用3个软件进行不同的工作 &#xff0c;以实现优化系统的大目标。首先&#xff0c;我们使用 Lumerical 构建光栅模型并使用…

封装设计!抽象BasePage,提升WEB自动化测试用例质量和效率

目录 前言&#xff1a; 一、什么是抽象BasePage 二、BasePage中的属性和方法 三、BasePage中的代码实现 四、抽象Page对象 五、测试用例 六、总结 前言&#xff1a; 对于测试工程师来说&#xff0c;WEB自动化测试是非常重要的一部分。然而&#xff0c;WEB自动化测试的开…

软件测试实用案例上机报告一

文章目录 一、上机内容&#xff08;单元测试&#xff09;二、简单计算机测试1、题目2、编码&#xff08;源代码&#xff09;3、HTMLTestRunner生成可视化报告4、coverage查看覆盖情况 三、基本覆盖路径法测试1、题目2、编码&#xff08;源代码&#xff09;3、复读 &#x1f414…

【构造+数论+Tree】CF1627C

Problem - 1627C - Codeforces 题意&#xff1a; 给定一棵树的形态&#xff0c;让你给这棵树的边赋值&#xff0c;使得每对相邻的边的边权和都是质数 思路&#xff1a; 一开始模拟了一下样例&#xff0c;Sample3告诉我们如果有三条边相邻就是无解&#xff08;可以猜的结论&a…