当前位置: 首页 > news >正文

浅谈丨功能安全测试,汽车的守护者

随着新能源汽车迅猛的发展,各类车型频频面世,同时辅助驾驶/自动驾驶等智驾功能也在不断迭代,使得整个汽车系统的复杂性越来越高,最终导致消费者不得不对如今的汽车质量和安全性提出质疑。

如何打破质疑?

那就不得不搬出我们的主题了----功能安全。

本文主要针对功能安全定义、测试用例开发及测试流程进行概念上的阐述与简要的介绍。

  • 功能安全定义

    不了解功能安全的过往,又怎知它的难得可贵呢?

从功能安全的提出到如今的标准成熟,可谓经历了一个漫长的发展历程,具体如图1所示:

图1-功能安全发展史

那功能安全到底是什么呢?

功能安全定义:Absence of unreasonable risk due to hazards caused by malfunctioning behavior of E/E systems(避免因电子电气系统故障而导致不合理的风险)。

通俗点理解:功能安全就是指汽车即使出现电子电气故障,但这个故障也是可控的,不会出现“车毁人亡”类的延伸风险。

既然已经知道功能安全的定义了,如果想要更深一步探索,那就不得不提及为其量身定制的专用标准——ISO26262。

图2-ISO26262图解

ASIL分析主要由严重度(S)、暴露率(E)、可控性(C)三部分构成,其中所谓的暴露率是指事件场景的暴露率,而非功能失效本身的暴露率。

定义

备注

严重度Severity(S)

发生故障的严重程度

S值越大则故障越严重,S值根据轻微到严重分为S0至S3四级

暴露率Exposure(E)

故障发生的时长占平均运行时长的比例,用来表征故障发生的概率大小

E值越大则故障发生的概率越大

可控性Controllability(C)

故障发生以后,是否可以对故障状态加以控制

C值越大则越难以控制

表1-S/E/C简介

分析出S/E/C数值有什么用呢?

分析至此也不难看出,一项需求发生故障之后的安全风险,可以用公式计算得出:

Risk=S * E * C

计算出此安全风险后,可依据此风险等级采取相对应的措施,从而避免因电子电气系统故障而导致不合理的风险。

严重程度

可能性

可控性

C1
(简单可控)

C2
(正常可控)

C3
(不可控)

S1
(
轻度和中度损伤)

E1(非常低)

QM

QM

QM

E2(低)

QM

QM

QM

E3(中等)

QM

QM

A

E4(高)

QM

A

B

S2
(
严重且危及生命)
(可能存活)

E1(非常低)

QM

QM

QM

E2(低)

QM

QM

A

E3(中等)

QM

A

B

E4(高)

A

B

C

S3
(
危及生命的致命伤)

E1(非常低)

QM

QM

A

E2(低)

QM

A

B

E3(中等)

A

B

C

E4(高)

B

C

D

表2-ASIL评级表

注:比如车辆的迈速表出了故障,车子启动开始就不显示任何信息,此场景可归类为QM,因为司机可以很容易的感知故障,并且选择不开车或者非常谨慎的驾驶,可以理解为,场景可控性非常高,严重程度很低;相比之下,如果车辆无法进行控制,驾驶员在高速行驶时刹车失灵的情况可以归类于ASIL-D,因为此时导致人严重受伤的概率很高。

  • 功能安全测试用例开发

如何开发及编制测试用例呢?

依据所提供的功能安全文档,针对电子电气系统故障所采取的安全措施项,设计相关测试用例,以确保发生故障时正确响应,从而避免不合理的风险

功能安全文档:包括软件需求文档、架构设计文档、单元设计文档等。

图3-功能安全文档概括及目标

功能安全文档检查项:属性是否完整、ASIL等级、FTTI时间、验证方法、验证准则、承接元素、安全机制描述和功能描述是否清晰等。

注:因为所有的测试用例开发源都在功能安全文档上,如果源头产生错误,那对后续的用例开发编制及测试会产生很大的影响,故在开始前需仔细检查。

功能安全文档检查无问题后,便可以开始着手开发编制测试用例。

  1. 仔细阅读和理解需求文档,识别关键功能和性能点,以及可能的边界条件和异常情况;
  2. 将整体需求划分为更小的、可测试的需求单元(或称为测试点)。对于每个测试点,明确前提条件、预期输出结果和可能的执行路径。根据功能安全需求,确定测试的范围,包括需要测试的功能点、测试的边界条件、预期的测试结果等;
  3. 根据测试范围,设计具体的测试用例。测试用例应覆盖所有可能的正常操作场景和异常场景,确保系统在不同情况下都能保持安全性能。

图4-功能安全测试点

类别

简述

故障注入测试用例

汽车控制器故障注入测试用例是为了验证汽车控制器(ECU)在面临各种潜在故障情况下的鲁棒性和安全性。

边界值测试用例

边界值的取值依据输入的范围区间不同而有所不同,但是都需要用上点值、离点值和内点值,只是取点的位置不同,边界点分为上点、内点和离点。

失效模式和影响分析测试用例

根据失效模式和影响分析的结果,设计相应的测试用例,来验证系统在各种失效模式下的安全性能。

通信故障测试用例

测试系统在通信链路中出现故障或异常情况时的安全性能,例如节点丢失、信号延迟等。

人机界面测试用例

测试系统的人机界面是否符合人体工程学原理,以确保用户在操作系统时不会因为界面设计不当而引发安全问题。

表3-功能安全测试用例编制方法

注:功能安全测试用例是为了验证系统在发生故障或异常情况下的安全性能而设计的测试用例。

  • 功能安全测试流程

功能安全测试流程:确认测试范围→覆盖测试需求→明确测试目标→分配测试环境→应用测试设备→采取测试方法→得到测试结果。

前三项流程上文已覆盖,便不过多的叙述,针对后续流程,我们逐一介绍。

分配测试环境

    因功能安全测试范围广泛且深入,且测试方法也较为复杂繁琐,故所需要的测试环境也多种多样。目前测试环境主要包括:单件测试环境、多件交互测试环境、整车级低压台架测试环境、整车级高压台架测试环境、实车测试环境等。

应用测试设备:

1、对于总线类故障注入测试项,推荐使用Vector总线采集和记录设备,如CANoe配合VN1640A/VN5650和总线记录仪GL5000系列;

2、对于电压、电源故障测试等测试项,可采用不同等级的电源模拟器进行调控测试;

3、对于节点丢失、信号延迟、CAN信息量过大导致丢包等通信异常测试项,可采用连接VT机箱、高压或低压BOB控制盒等进行操作测试。

采取测试方法:

以下通过一个应用实例,简单介绍一种测试方法。

安全目标:ACC激活时,只有驾驶员未踩刹车时,才可以输出大于0的推进扭矩。

安全状态:ACC关闭纵向控制。

测试用例:

用例编号

初始状态

操作步骤

期望结果

测试环境

FunctionSafety-1

车辆启动,进入ACC模式

使刹车踏板信号输出为有效值

推进扭矩=0

实车

FunctionSafety-2

车辆启动,进入ACC模式

使刹车踏板信号输出为无效值(invalid)

推进扭矩=0

实车

FunctionSafety-3

车辆启动,进入ACC模式

使刹车踏板信号输出为无效值

(CRC错误)

推进扭矩=0

实车

FunctionSafety-4

车辆启动,进入ACC模式

使刹车踏板信号输出为无效值

(counter错误)

推进扭矩=0

实车

FunctionSafety-5

车辆启动,进入ACC模式

使刹车踏板信号丢失

推进扭矩=0

实车

表4-测试用例

     测试方法:

  1. 将ECU搭载到实车上,连接CANoe等设备;
  2. 启动车辆,激活ACC,并检查实车无其他故障;
  3. 在ACC模式行驶过程中,通过CANoe注入刹车踏板信号的无效值等,检查ECU的功能表现与预期结果是否一致。

四、结语

本文主要从功能安全定义、测试用例开发及测试流程三个方面展开介绍,希望能对各位小伙伴理解功能安全理念和基本测试内容有一定的帮助,后续我们会根据实际项目推出更多更深入的针对功能安全应用实例的文章,敬请期待。

相关文章:

浅谈丨功能安全测试,汽车的守护者

随着新能源汽车迅猛的发展,各类车型频频面世,同时辅助驾驶/自动驾驶等智驾功能也在不断迭代,使得整个汽车系统的复杂性越来越高,最终导致消费者不得不对如今的汽车质量和安全性提出质疑。 如何打破质疑? 那就不得不搬…...

了解M有SQL索引

目录 索引介绍 索引的优缺点 索引底层数据结构选型 Hash表 二叉查找树(BST) AVL树 红黑树 B 树& B树 索引类型总结 主键索引(Primary Key) 二级索引 聚簇索引与非聚簇索引 聚簇索引(聚集索引) 聚簇索引介绍 聚簇索引的优缺点 非聚簇索引(非聚集索引) 非聚簇…...

进程间通信5:信号

引入 我们之前学习了信号量,信号量和信号可不是一个东西,不能混淆。 信号是什么以及一些基础概念 信号是一种让进程给其他进程发送异步消息的方式 信号是随时产生的,无法预测信号可以临时保存下来,之后再处理信号是异步发送的…...

Excel把其中一张工作表导出成一个新的文件

excel导出一张工作表 一个Excel表里有多个工作表,怎么才能导出一个工作表,让其生成新的Excel文件呢? 第一步:首先打开Excel表格,然后选择要导出的工作表的名字,比如“Sheet1”,把鼠标放到“She…...

python oa服务器巡检报告脚本的重构和修改(适应数盾OTP)有空再去改

Two-Step Vertification required: Please enter the mobile app OTPverification code: 01.因为巡检的服务器要双因子认证登录,也就是登录堡垒机时还要输入验证码。这对我的巡检查服务器的工作带来了不便。它的机制是每一次登录,算一次会话…...

微信小程序下拉刷新与上拉触底的全面教程

微信小程序下拉刷新与上拉触底的全面教程 引言 在微信小程序的开发中,用户体验至关重要。下拉刷新和上拉触底是提高用户交互体验的重要功能,能够让用户轻松获取最新数据和内容。本文将详细介绍这两个功能的实现方式,结合实际案例、代码示例和图片展示,帮助开发者轻松掌握…...

第三十九章:Grafana 概述、Docker安装与验证指南

Grafana 概述、Docker安装与验证指南 一、Grafana 概述 Grafana 是一个跨平台的开源可视化分析工具,是目前网络架构和应用分析中最流行的时序数据展示工具。它主要用于大规模指标数据的可视化展示,并支持多种数据源和丰富的可视化插件。Grafana 使用Go语言开发,具备数据监…...

使用go实现流式输出

流式输出的深度剖析 之前一直在调用openai的key,只是照着文档进行流式调用,也只知其确是流式与api有所不同,而未成体系深究其实现原理。 就以openai的官方流式输出为切入。 概述 流式输出(Streaming Output)是 HTT…...

WebSocket详解、WebSocket入门案例

目录 1.1 WebSocket介绍 http协议: webSocket协议: 1.2WebSocket协议: 1.3客户端(浏览器)实现 1.3.2 WebSocket对象的相关事宜: 1.3.3 WebSOcket方法 1.4 服务端实现 服务端如何接收客户端发送的请…...

元组部分介绍

元组部分 元组的基本格式与特点 #1.元组 #基本格式: 元组名(元素1,元素2,元素3) #注意:所有元素包含在小括号内,元素与元素之间用逗号隔开,可以是不同的元素类型 #注意&#xff1a…...

mfc100u.dll是什么?分享几种mfc100u.dll丢失的解决方法

mfc100u.dll 是一个动态链接库(DLL)文件,属于 Microsoft Foundation Classes (MFC) 库的一部分。MFC 是微软公司开发的一套用于快速开发 Windows 应用程序的 C 类库。mfc100u.dll 文件包含了 MFC 库中一些常用的函数和类的定义,这…...

企业数字化转型现状

国家数字经济战略背景 2018年以来,国家政府不断出台政策规范我国企业数字化治理市场。2018年9月颁布《关于发展数字经济稳定并扩大就业的指导意见》,支持建设一批数字经济创新创业孵化机构。积极推进供应链创新与应用,支持构建以企业为主导。…...

数据治理:在企业数据管理中的关键角色与实现路径——《DAMA 数据管理知识体系指南》读书笔记- 第 3 章

文章目录 1. 数据治理的核心内涵与战略价值2. 数据治理的驱动因素:不仅仅是合规3. 数据治理的组织模型:选择适合企业结构的运营模式4. 实施数据治理的关键步骤:战略、制度和文化5. 数据治理工具的选择:支持业务与流程的高效管理6.…...

树莓派2装FreeBSD14.1 Raspberry Pi2 install FreeBSD14.1 00000121:error:0A000086:SSL

树莓派2代的Model B采用Broadcom BCM2836 900MHz的四核SoC,1GB内存,是新一代开拓者,兼容1代B。相比之下,树莓派2的性能比1代提升6倍,内存翻了一番。Raspberry Pi 2不仅能跑全系列ARM GNU/Linux发行版,而且支…...

uniop触摸屏维修eTOP40系列ETOP40-0050

在现代化的工业与商业环境中,触摸屏设备已成为不可或缺的人机交互界面。UNIOP,作为一个知名的触摸屏品牌,以其高性能、稳定性和用户友好性,广泛应用于各种自动化控制系统、自助服务终端以及高端展示系统中。然而,即便如…...

uniapp+vue2重新进入小程序就清除缓存,设备需要重新扫码

代码 app.vue页面 <script>export default {onLaunch: function() {uni.removeStorageSync(equiId)}} </script>...

视频推拉流EasyDSS互联网直播点播平台技术特点及应用场景剖析

在数字科技日新月异的今天&#xff0c;视频直播和点播已经成为互联网内容传播的重要方式之一。而互联网直播点播平台EasyDSS作为功能强大的流媒体直播点播视频能力平台&#xff0c;提供了一站式的视频推拉流、转码、直播、点播、时移回放、存储等视频服务&#xff0c;广泛应用于…...

论文笔记 网络安全图谱以及溯源算法

​ 本文提出了一种网络攻击溯源框架&#xff0c;以及一种网络安全知识图谱&#xff0c;该图由六个部分组成&#xff0c;G <H&#xff0c;V&#xff0c;A&#xff0c;E&#xff0c;L&#xff0c;S&#xff0c;R>。 1|11.知识图 ​ 网络知识图由六个部分组成&#xff0c…...

抓住鸿蒙生态崛起的机遇,拥抱未来开发挑战

随着华为鸿蒙&#xff08;HarmonyOS&#xff09;的持续发展&#xff0c;鸿蒙生态正在迅速崛起&#xff0c;逐步在智能手机、智能穿戴、车载、家居等领域形成完整闭环。它不仅为开发者带来了新的机遇&#xff0c;还带来了技术上的挑战。如何抓住这些机遇并应对挑战&#xff0c;是…...

STM32WB55RG开发(5)----监测STM32WB连接状态

STM32WB55RG开发----5.生成 BLE 程序连接手机APP 概述硬件准备视频教学样品申请源码下载参考程序选择芯片型号配置时钟源配置时钟树RTC时钟配置RF wakeup时钟配置查看开启STM32_WPAN条件配置HSEM配置IPCC配置RTC启动RF开启蓝牙LED配置设置工程信息工程文件设置参考文档SVCCTL_A…...

ArcGIS应用指南:ArcGIS制作局部放大地图

在地理信息系统&#xff08;GIS&#xff09;中&#xff0c;制作详细且美观的地图是一项重要的技能。地图制作不仅仅是简单地将地理数据可视化&#xff0c;还需要考虑地图的可读性和美观性。局部放大图是一种常见的地图设计技巧&#xff0c;用于展示特定区域的详细信息&#xff…...

浅谈网络 | 传输层之TCP协议

目录 TCP 包头格式TCP 的三次握手TCP 的四次挥手TCP 的可靠性与"靠谱"的哲学TCP流量控制TCP拥塞控制 上一章我们提到&#xff0c;UDP 就像我们小时候一样简单天真&#xff0c;它相信“网之初&#xff0c;性本善&#xff0c;不丢包&#xff0c;不乱序”&#xff0c;因…...

‌Kotlin中的?.和!!主要区别

目录 1、?.和!!介绍 2、使用场景和最佳实践 3、代码示例和解释 1、?.和!!介绍 ‌Kotlin中的?.和!!主要区别在于它们对空指针的处理方式。‌ ‌?.&#xff08;安全调用操作符&#xff09;‌&#xff1a;当变量可能为null时&#xff0c;使用?.可以安全地调用其方法或属性…...

【漏洞复现】代付微信小程序系统 read.php 任意文件读取漏洞

免责声明: 本文旨在提供有关特定漏洞的信息,以帮助用户了解潜在风险。发布此信息旨在促进网络安全意识和技术进步,并非出于恶意。读者应理解,利用本文提到的漏洞或进行相关测试可能违反法律或服务协议。未经授权访问系统、网络或应用程序可能导致法律责任或严重后果…...

Python人工智能项目报告

一、实践概述 1、实践计划和目的 在现代社会&#xff0c;计算机技术已成为支撑社会发展的核心力量&#xff0c;渗透到生活的各个领域&#xff0c;应关注人类福祉&#xff0c;确保自己的工作成果能够造福社会&#xff0c;同时维护安全、健康的自然环境&#xff0c;设计出具有包…...

PyQt6+pyqtgraph折线图绘制显示

1、实现效果 2、环境&#xff1a; 确认已经安装pyqtgraph的模块&#xff0c;如果没有安装&#xff0c;使用命令安装&#xff1a; pip install pyqtgraph 3、代码实现&#xff1a; 绘制折线函数&#xff1a; import sys import random from PySide6.QtWidgets import QAppl…...

1-golang_org_x_crypto_bcrypt测试 --go开源库测试

1.实例测试 package mainimport ("fmt""golang.org/x/crypto/bcrypt" )func main() {password : []byte("mysecretpassword")hashedPassword, err : bcrypt.GenerateFromPassword(password, bcrypt.DefaultCost)if err ! nil {fmt.Println(err)…...

C语言菜鸟入门·关键字·union的用法

目录 1. 简介 2. 访问成员 2.1 声明 2.2 赋值 3. 共用体的大小 4. 与typedef联合使用 5. 更多关键字 1. 简介 共用体&#xff08;union&#xff09;是一种数据结构&#xff0c;它允许在同一内存位置存储不同的数据类型&#xff0c;但每次只能存储其中一种类型的…...

leetcode hot100【LeetCode 238.除自身以外数组的乘积】java实现

LeetCode 238.除自身以外数组的乘积 题目描述 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 …...

【测试工具JMeter篇】JMeter性能测试入门级教程(一)出炉,测试君请各位收藏了!!!

一、前言 Apache JMeter是纯Java的开源软件&#xff0c;最初由Apache软件基金会的Stefano Mazzocchi开发&#xff0c;旨在加载测试功能行为和测量性能。可以使用JMeter进行性能测试&#xff0c;即针对重负载、多用户和并发流量测试Web应用程序。 我们选择JMeter原因 是否测试过…...

嵌入式驱动开发详解3(pinctrl和gpio子系统)

文章目录 前言pinctrl子系统pin引脚配置pinctrl驱动详解 gpio子系统gpio属性配置gpio子系统驱动gpio子系统API函数与gpio子系统相关的of函数 pinctrl和gpio子系统的使用设备树配置驱动层部分用户层部分 前言 如果不用pinctrl和gpio子系统的话&#xff0c;我们开发驱动时需要先…...

使用 OpenCV 进行视频中的行人检测

在计算机视觉领域&#xff0c;行人检测是一个重要的研究方向&#xff0c;它在视频监控、自动驾驶、人机交互等领域都有着广泛的应用。本文将介绍如何使用 OpenCV 库来实现视频中的行人检测。 环境准备 首先&#xff0c;我们需要安装 OpenCV 库。可以通过以下命令来安装&#…...

py文件转pyd文件的那些坑

当编译py脚本文件发给客户使用时&#xff0c;为了保密源代码防止反编译&#xff0c;可以将py文件转换为pyd文件&#xff0c;然后使用pyinstaller工具转换为exe应用程序&#xff0c;但有时测试发现&#xff0c;py文件可以正常运行&#xff0c;转换为pyd文件后却有各种错误&#…...

go interface(接口)使用

在 Go 语言中&#xff0c;接口&#xff08;interface&#xff09;是一种抽象类型&#xff0c;它定义了一组方法&#xff0c;但是不实现这些方法。接口指定了一个对象的行为&#xff0c;而不关心对象的具体实现。接口使得代码更加灵活和可扩展。 定义接口 接口使用 type 关键字…...

前端---HTML(一)

HTML_网络的三大基石和html普通文本标签 1.我们要访问网络&#xff0c;需不需要知道&#xff0c;网络上的东西在哪&#xff1f; 为什么我们写&#xff0c;www.baidu.com就能找到百度了呢&#xff1f; 我一拼ping www.baidu.com 就拼到了ip地址&#xff1a; [119.75.218.70]…...

unsloth vlm模型Qwen2-VL、Llama 3.2 Vision微调案例

T4卡15G显卡训练 参考: https://github.com/unslothai/unsloth 按自己显卡cuda版本安装 免费colab微调代码: Qwen2-VL: https://colab.research.google.com/drive/1whHb54GNZMrNxIsi2wm2EY_-Pvo2QyKh?usp=sharing from unsloth import FastVisionModel # NEW instead …...

云网络基础- TCP/IP 协议

文章目录 典型服务模式TCP/IP 协议设置和查看IPIP地址的分类:IP地址组成: 网络位主机位组成克隆:产生一台新的虚拟机win2008 典型服务模式 • C/S,Client/Server架构 – 由服务器提供资源或某种功能 – 客户机使用资源或功能 TCP/IP 协议 • TCP/IP是最广泛支持的通信协议集合…...

【数据分享】2001-2023年我国30米分辨率冬小麦种植分布栅格数据(免费获取)

小麦、玉米、水稻等各类农作物的种植分布数据在农业、环境、国土等很多专业都经常用到&#xff01; 本次给大家分享的是我国2001-2023年逐年的30米分辨率冬小麦种植分布栅格数据&#xff01;数据格式为TIFF格式&#xff0c;数据坐标为GCS_WGS_1984。该数据包括我国11个省份的冬…...

前端预览pdf文件流

需求 后端接口返回pdf文件流&#xff0c;实现新窗口预览pdf。 解决方案 把后端返回的pdf文件流转为blob路径&#xff0c;利用浏览器直接预览。 具体实现步骤 1、引入axios import axios from axios;2、创建预览方法&#xff08;具体使用时将axios的请求路径替换为你的后端…...

【Leetcode 每日一题】146. LRU 缓存(c++)

146. LRU 缓存 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中&#xff0c;则返回关键字的值&#x…...

Neural Magic 发布 LLM Compressor:提升大模型推理效率的新工具

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

QT简易项目 数据库可视化界面 数据库编程SQLITE QT5.12.3环境 C++实现

案例需求&#xff1a; 完成数据库插入&#xff0c;删除&#xff0c;修改&#xff0c;查看操作。 分为 插入&#xff0c;删除&#xff0c;修改&#xff0c;查看&#xff0c;查询 几个模块。 代码&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget…...

为什么DDoS防御很贵?

分布式拒绝服务攻击&#xff08;DDoS攻击&#xff09;是一种常见的网络安全威胁&#xff0c;通过大量恶意流量使目标服务器无法提供正常服务。DDoS防御是一项复杂且昂贵的服务&#xff0c;本文将详细探讨为什么DDoS防御如此昂贵&#xff0c;并提供一些实用的代码示例和解决方案…...

Spring Boot3远程调用工具RestClient

Spring Boot3.2之后web模块提供了一个新的远程调用工具RestClient&#xff0c;它的使用比RestTemplate方便&#xff0c;开箱即用&#xff0c;不需要单独注入到容器之中&#xff0c;友好的rest风格调用。下面简单的介绍一下该工具的使用。 一、写几个rest风格测试接口 RestCont…...

C51相关实验

C51相关实验 LED //功能&#xff1a;1.让开发板的LED全亮&#xff0c;2,点亮某一个LED,3.让LED3以5Hz的频率闪动#include "reg52.h"#define LED P2 sbit led1 LED^1;void main(void) {LED 0xff;//LED全灭led1 0;while(1)//保持应用程序不退出{} }LED 输出端是高…...

云服务器部署springboot项目、云服务器配置JDK、Tomcat

目录 环境准备&#xff1a;JDK、Tomcat 将两个文件上传刀usr/java目录下并解压&#xff1a; 改java相关文件里的参数 执行以下命令&#xff0c;打开 profile 文件 执行以下命令&#xff0c;读取环境变量&#xff1a; 查看JDK是否安装成功&#xff1a; 改Tomcat参数 项目…...

STM32 USART串口发送

单片机学习&#xff01; 目录 前言 一、串口发送配置步骤 二、详细步骤 2.1 RCC开启USART和GPIO时钟 2.2 GPIO初始化 2.3 配置USART 2.4 开启USART 2.5 初始化总代码 三、发送数据函数设计 3.1 发送一个字节数据函数 3.2 发送一个数组函数 3.3 发送字符串函数 3.4…...

二叉树的深度搜索专题一>计算布尔二叉树的值

题目&#xff1a; 题目解析&#xff1a; 算法解析&#xff1a; 代码&#xff1a; public boolean evaluateTree(TreeNode root) {if(root.left null && root.right null) return root.val 1 ? true : false;boolean leftTree evaluateTree(root.left);boolean…...

Web day01 html css

目录 1.html: 常用标签&#xff1a; 1.video img p br b u i s &#xff1a; 2.布局标签&#xff1a;div span 3.表单标签&#xff1a; 4.表单标签项&#xff1a; 5.表格标签: 2.css: 1.使用样式: 2.选择器&#xff1a; 3.样式&#xff1a; 1.color&#xff1a; 2. …...

PHP 超级全局变量

超级全局变量是指在php任意脚本下都可以使用 PHP 超级全局变量列表: $GLOBALS&#xff1a;是PHP的一个超级全局变量组&#xff0c;在一个PHP脚本的全部作用域中都可以访问。 $_SERVER&#xff1a;$_SERVER 是一个PHP内置的超级全局变量,它是一个包含了诸如头信息(header)、路…...