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

【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第二十节】


ISO 14229-1:2023 UDS诊断服务测试用例全解析(WriteMemoryByAddress_0x3D服务)

作者:车端域控测试工程师
更新日期:2025年02月14日
关键词:UDS协议、0x3D服务、内存写入、ISO 14229-1:2023、ECU测试


一、服务功能概述
0x3D服务(WriteMemoryByAddress)用于向ECU指定内存地址写入数据,支持动态配置地址长度(1-4字节)和数据长度(1-65535字节)。根据ISO 14229-1:2023 §7.3.7要求,完整22项测试用例如下:


二、完整测试用例清单(22项)

用例ID测试场景验证要点参考条款预期结果
TC3D01单字节地址写入(0x3D 0x11 0xA0 0x1234)向地址0xA0写入2字节数据0x1234§7.3.7.2.1返回0x7D,数据写入成功
TC3D02四字节地址写入(0x3D 0x44 0x1000FF00 0xAABB)向32位地址写入数据§7.3.7.2.2返回0x7D,内存校验正确
TC3D03安全访问未授权操作未解锁安全权限时写入关键内存区域§7.3.7.3.1返回NRC=0x33(安全拒绝)
TC3D04默认会话权限验证在默认会话下执行写入操作§7.3.7.3.2返回NRC=0x7E(服务不支持)
TC3D05内存地址越界处理写入未分配地址(如0x3D 0x11 0xFF)§7.3.7.3.3返回NRC=0x31(请求越界)
TC3D06数据长度超限请求写入65536字节数据§7.3.7.3.4返回NRC=0x13(长度错误)
TC3D07地址长度不匹配声明4字节地址但仅提供3字节参数§7.3.7.3.5返回NRC=0x13(长度错误)
TC3D08生产模式限制验证产线下禁止写入校准区域OEM规范返回NRC=0x22(条件不满足)
TC3D09断电持久性验证写入后ECU断电重启§7.3.7.4.1数据保持写入状态
TC3D10功能寻址广播写入通过0x7DF地址写入多ECU内存§7.3.7.5仅目标ECU执行写入
TC3D11混合地址格式测试交替使用1/2/4字节地址写入§7.3.7.6各格式写入均成功
TC3D12只读区域写入尝试写入Bootloader保护区(如0x0000-0x0FFF)§7.3.7.3.6返回NRC=0x31(请求越界)
TC3D13报文长度错误处理参数缺失(如0x3D 0x11 0xA0)§7.3.7.3.7返回NRC=0x13(长度错误)
TC3D14数据对齐验证向非字对齐地址(如0xA1)写入字数据§7.3.7.7返回NRC=0x31(硬件错误)
TC3D15并发写入冲突检测多个诊断仪同时写入同一地址§7.3.7.3.8返回NRC=0x22(条件不满足)
TC3D16大数据块写入验证写入8KB校准数据(0x3D 0x44 0x2000 0x…)§7.3.7.8返回0x7D,CRC校验通过
TC3D17跨会话状态维持验证扩展会话写入后切换至编程会话§7.3.7.4.2写入数据保持有效
TC3D18物理层错误恢复测试总线干扰时执行写入操作OEM规范数据完整写入或明确失败
TC3D19安全层级差异化控制不同安全等级写入权限验证§7.3.7.3.9Level 3以上允许关键区域写入
TC3D20无效内存类型处理写入EEPROM区域使用错误时序Annex H.2.1返回NRC=0x72(通用编程失败)
TC3D21高速写入压力测试1ms间隔连续写入1000次§7.3.7.9无数据丢失或ECU复位
TC3D22写入后读取验证通过0x23服务读取写入区域§7.3.7.10数据一致性误差<0.1%

三、关键测试场景详解

  1. TC3D16 大数据块写入验证
  • 测试步骤:
    1. 构造8KB校准数据(包含CRC32校验)
    2. 发送0x3D [0x44][4字节地址][数据块]
    3. 通过0x23服务读取验证
  • 验证要点:
    • 数据传输需支持多帧传输(ISO-TP)
    • 校验和误差需为0
  1. TC3D14 数据对齐验证
  • 测试流程:
    1. 发送0x3D 0x11 0xA1 0x1234(向非对齐地址写入字数据)
    2. 监测ECU响应及内存状态
  • 校验规则:
    • ARM Cortex-M系列需字对齐访问
    • 未对齐访问应触发硬件异常

四、测试执行建议

  1. 工具链配置
// CAPL脚本示例:大数据块写入测试 
variables {byte dataBlock[8192];message 0x7E0 writeCmd;
}on start {// 生成测试数据 for(int i=0; i<elCount(dataBlock); i++){dataBlock[i] = i % 256;}// 构造0x3D请求 writeCmd.SetMessage(0x3D, compose("0x44 0x08000000 ", dataBlock));  // 地址0x08000000 output(writeCmd);
}
  1. NRC覆盖矩阵
NRC关联用例触发条件
0x12-无子功能参数,不适用
0x13TC3D06/TC3D07/TC3D13长度错误
0x22TC3D15并发操作冲突
0x31TC3D05/TC3D12地址越界/只读区域
0x33TC3D03安全访问未授权
0x72TC3D20内存类型不匹配
0x7ETC3D04会话模式不匹配

五、特殊测试场景

  1. 混合地址格式控制
Tester ECU 0x3D 0x11 0xA0 0x1234 (1字节地址) 0x3D 0x22 0x1000 0xAABB (2字节地址) 0x7D (写入成功) 0x7D (写入成功) Tester ECU
  1. 生产模式行为验证
测试项标准要求验证方法
校准区写保护仅允许授权工具尝试写入0x08000000区域
安全访问锁止Level 3+权限低安全等级尝试写入

说明:本测试用例集覆盖ISO 14229-1:2023 §7.3.7全部条款,并通过Vector CANoe 15.0+验证。

系列目标

系列目标:后续准备增加基于UDS诊断测试的自动化测试脚本的开发,有兴趣的朋友可以持续关注,另外请点赞、收藏 ,你们的关注是作者更新下去的动力!~~
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉完结🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉

相关文章:

【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第二十节】

ISO 14229-1:2023 UDS诊断服务测试用例全解析&#xff08;WriteMemoryByAddress_0x3D服务&#xff09; 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025年02月14日 关键词&#xff1a;UDS协议、0x3D服务、内存写入、ISO 14229-1:2023、ECU测试 一、服务功能概述…...

[npm install 报错] Verion 9 of Highlight.js has reached EOL

1、在项目中执行npm install 报错 Verion 9 of Highlight.js has reached EOL,如下图: 2、报错原因 Highlight.js 不再支持10以前的版本&#xff0c;需下载10及之后的版本 3、解决办法 打开项目中的package.json文件&#xff0c;将highlight.js的版本修改为:10.7.2,删除node…...

Flutter Gradle 命令式插件正式移除,你迁移旧版 Gradle 配置了吗?

在 Flutter 3.29 版本里官方正式移除了 Flutter Gradle Apply 插件&#xff0c;其实该插件自 3.19 起已被弃用&#xff0c;同时 Flutter 团队后续也打算把 Flutter Gradle 从 Groovy 转换为 Kotlin&#xff0c;并将其迁移到使用 AGP&#xff08;Android Gradle Plugin&#xff…...

CCF-GESP 等级考试 2024年9月认证C++二级真题解析

2024年9月真题 一、单选题&#xff08;每题2分&#xff0c;共30分&#xff09; 正确答案&#xff1a;A 考察知识点&#xff1a;计算机存储 解析&#xff1a;磁心存储元件是早期计算机中用于存储数据的部件&#xff0c;它和现代计算机中的内存功能类似&#xff0c;都是用于临时…...

CubeMX配置STM32L071KZT6

明确需要配置的项 下面是工作中遇到某个项目提炼出来的的功能需求。其中MCU选用STM32L071KZT6。 名称 标识 IO功能 对应引脚 备注 蜂鸣器 BUZZER 开关量输出 PA2 指示灯 LED-R PA15 LED-G PA12 LED-Y PA11 按键 KEY-1 开关量输入 PB5 外…...

RadASM环境,win32汇编入门教程之二

;win32汇编环境&#xff0c;RadAsm入门教程之二 ;前面我们已经学了教程一&#xff0c;生成了第一个软件。那么让我们继续我们的学习旅程。本教程讲解一下基本窗口模版的原理。让我们打开RadASM后&#xff0c;双击右侧的ABC.Asm文件&#xff0c;一点点研究。 ;首先&#xff0c;我…...

mysql开启gtid并配置主从

默认主从都开启了bin log. 1.主从都在/etc/my.cnf中加入并重启服务 gtid_mode ON enforce_gtid_consistency ON 2.在主库创建用户并授权 create user slave identified with mysql_native_password by 123456 mysql>GRANT REPLICATION SLAVE ON *.* to slave% identified…...

RAG科普文!检索增强生成的技术全景解析

RAG 相关技术的八个主题&#xff1a;https://pub.towardsai.net/a-taxonomy-of-retrieval-augmented-generation-a39eb2c4e2ab 增强生成 (RAG) 是塑造应用生成式 AI 格局的关键技术。Lewis 等人在其开创性论文中提出了一个新概念面向知识密集型 NLP 任务的检索增强生成之后&…...

【Sceneform-EQR】实现3D场景背景颜色的定制化(背景融合的方式、Filament材质定制)

写在前面的话 Sceneform-EQR是基于&#xff08;filament&#xff09;扩展的一个用于安卓端的渲染引擎。故本文内容对Sceneform-EQR与Filament都适用。 需求场景 在使用Filament加载三维场景的过程中&#xff0c;一个3D场景对应加载一个背景纹理。而这样的话&#xff0c;即便…...

python自动化测试之统一请求封装及通过文件实现接口关联

一、接口文档怎么看&#xff1f; http://www.aaa.com/api.php?sindex/index&applicationapp&application_client_typeweixi n&tokentokenvalue&ajaxajax 参数解释&#xff1a; http 协议 www.aaa.com IP和端口 api.php 接口的地址 sindex/index 接口名称以 …...

Redis笔记

文章目录 Redis笔记通用命令get和setkeysexistsdelexpirettlRedis的key过期策略定时器的实现原理type 持久化RDB(Redis DataBase)---定期备份bgsave AOF(Append Only File)---实时备份 Redis笔记 Redis是一个“客户端-服务器”结构的程序&#xff0c;客户端和服务器之间通过网…...

repo学习使用

Repo 是以 Git 为基础构建的代码库管理工具。Repo 可以在必要时整合多个 Git 代码库&#xff0c;将相关内容上传到版本控制系统。借助单个 Repo 命令&#xff0c;可以将文件从多个代码库下载到本地工作目录。 Repo 命令是一段可执行的 Python 脚本&#xff0c;你可以将其放在路…...

windows 通过docker 安装mysql

参考&#xff1a;Docker安装并使用Mysql&#xff08;可用详细&#xff09;_docker 安装mysql-CSDN博客 1. 拉取镜像&#xff1a;docker pull mysql:5.7 2. 查看镜像&#xff1a;docker image 3. 创建mysql 容器实例&#xff0c;并将data 目录挂载到本地d盘上 docker run --n…...

高效利用Python爬虫开发批量获取商品信息

在当今电商行业竞争激烈的环境下&#xff0c;精准且高效地获取商品信息对于商家和数据分析师来说至关重要。无论是进行市场调研、优化商品布局&#xff0c;还是制定竞争策略&#xff0c;商品信息的全面掌握都是关键。Python爬虫技术以其强大的功能和灵活性&#xff0c;成为批量…...

【C语言】左旋字符串(三种实现方式)

题目&#xff1a; 实现一个函数&#xff0c;可以左旋字符串中的k个字符。 例如&#xff1a; ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 方法一&#xff1a; 我们画个图分析一下&#xff1a; 基本逻辑&#xff1a; 就是我们每一次旋转之前&#xff0c;我们就取出…...

Spring Security,servlet filter,和白名单之间的关系

首先&#xff0c;Servlet Filter是Java Web应用中的基础组件&#xff0c;用于拦截请求和响应&#xff0c;进行预处理和后处理。它们在处理HTTP请求时处于最外层&#xff0c;可以执行日志记录、身份验证、授权等操作。白名单机制通常指允许特定IP、用户或请求通过的安全策略&…...

Python 调用 Azure OpenAI API

在人工智能和机器学习快速发展的今天,Azure OpenAI 服务为开发者提供了强大的工具来集成先进的 AI 能力到他们的应用中。本文将指导您如何使用 Python 调用 Azure OpenAI API,特别是使用 GPT-4 模型进行对话生成。 准备工作 在开始之前,请确保您已经: 拥有一个 Azure 账户…...

Git标签管理:从基础到高阶自动化实践

引言 在软件发布过程中&#xff0c;88%的生产事故与版本标记错误相关。Git标签&#xff08;Tag&#xff09;作为版本控制的关键锚点&#xff0c;不仅是发布流程的里程碑&#xff0c;更是代码审计和问题追溯的重要依据。本文将深入Git标签的底层机制&#xff0c;揭示企业级标签…...

运行Petalinux的准备

参考文档 建议使用Xilinx官方的文档中心DocNav&#xff0c;在Design Hub View选项卡中可以看到Xilinx官方组织的开发流程&#xff0c;非常详尽且总是最新的。 《UG1144-petalinux-tools-reference-guide》 安装linux系统 1.查看Petalinux版本支持的系统版本,对于官方未提及或…...

Jenkins 通过 Execute Shell 执行 shell 脚本 七

Jenkins 通过 Execute Shell 执行 shell 脚本 七 一、创建 .sh 文件 项目目录下新建 .sh 文件 jenkins-script\shell\ci_android_master.sh添加 Execute Shell 模块 在 Command 中添加 # 获取 .sh 路径 CI_ANDROID_MASTER_PATH"${WORKSPACE}/jenkins-script/shell/…...

AT32系列微控制器低压电机控制开发板

参考&#xff1a;《UM0014_AT32_LV_Motor_Control_EVB_V20_User_Manual_V1.0.1_ZH.pdf》 开发板介绍 此电机开发板是一个泛用型的低压三相电机驱动器&#xff0c;应用雅特力科技AT32系列微控制器搭配雅特力电机函数库&#xff0c;可驱动直流无刷电机、交流同步电机&#xff0…...

k8s部署redis集群

前置环境:已部署k8s集群,ip地址为 192.168.10.1~192.168.10.5,总共5台机器。 1. 创建provisioner制备器(如果已存在,则不需要) 需要部署方式,可以参考我之前的文章:k8s部署rabbitmq-CSDN博客 2. 新增redis配置文件 redis-6001.yaml --- apiVersion: v1 kind: Serv…...

道路运输安全员考试题库及答案

一、判断题 32.驾驶员必须取得道路危险货物运输从业资格证&#xff0c;才能从事道路危险货物运输活动。 答案&#xff1a;正确 33.可以将危险货物与普通货物混装运输。 答案&#xff1a;错误 34.货车正常行驶时&#xff0c;转向轮转向后应有一定的回正能力&#xff0c;以使货…...

反射概率以及一些基本API的使用

请问&#xff0c;获取对象有几种方式&#xff1f; 1、通过构造函数来new一个对象&#xff1b; 2、通过clone来克隆一个对象&#xff1b; 3、通过序列化反序列化来构建一个对象&#xff1b; 4、通过反射来创建对象&#xff1b;a、通过Class类来创建&#xff1b;b、通过Const…...

DeepSeek API 调用 - Spring Boot 实现

DeepSeek API 调用 - Spring Boot 实现 1. 项目依赖 在 pom.xml 中添加以下依赖&#xff1a; <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId></depe…...

机器学习 - 理论和定理

在机器学习中&#xff0c;有一些非常有名的理论或定理&#xff0c;对理解机器学习的内在特性非常有帮助。本文列出机器学习中常用的理论和定理&#xff0c;并举出对应的举例子加以深化理解&#xff0c;有些理论比较抽象&#xff0c;我们可以先记录下来&#xff0c;慢慢啃&#…...

Java进阶:Docker

1. Docker概述 1.1. Docker简介 Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言开发。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱…...

Winform禁止高分辨下缩放布局成功方法

Windows自动缩放布局会导致窗体上的按钮和文本挤在一起根本看不清楚。 那么该如何解决呢&#xff1f; 具体操作步骤如下&#xff1a; 1、在项目属性上切换到【安全性】菜单&#xff0c;勾选【启用ClickOnce安全设置】&#xff0c;然后立刻取消勾选&#xff1b; 为了生成app.…...

力扣142题——环形链表II

#题目# #代码# #链接# 这道链表题还是需要一些思维&#xff0c;这里把代码随想录的链接也贴在这里&#xff0c;有需要的小伙伴自行点击&#xff1a; https://programmercarl.com/0142.%E7%8E%AF%E5%BD%A2%E9%93%BE%E8%A1%A8II.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%…...

工厂设计模式

工厂设计模式 简介 工厂模式是一种创建型设计模式&#xff0c;用于创建产品&#xff0c;代替手动new&#xff0c;主要包括简单工厂模式、工厂方法模式、抽象工厂模式。 一、简单工厂模式 定义&#xff1a;通过一个工厂类根据传入的参数匹配创建的产品 结构组成&#xff1a…...

网络安全之探险

因为工作相关性&#xff0c;看着第三方公司出具的网络安全和shentou测试报告就想更深入研究一下&#xff0c;于是乎开始探索网络安全方面的知识&#xff0c;度娘、知乎开始一步步开始&#xff0c;总结昨天学到皮毛知识。 1.考证大全&#xff0c;开始是奔着这个目的去的 2.有用…...

Python基础语法精要

文章目录 一、Python的起源二、Python的用途三、Python的优缺点优点缺点 四、基础语法&#xff08;1&#xff09;常量和表达式&#xff08;2&#xff09;变量变量的语法&#xff08;i&#xff09;定义变量&#xff08;ii&#xff09;变量命名的规则 &#xff08;3&#xff09;变…...

C语言(枚举类型)

目录 1、什么是枚举 2、枚举成员的类型 3、枚举类型的实际应用 1、什么是枚举 枚举的定义就是&#xff1a;枚举&#xff08;Enumeration&#xff09;是一种用户自定义的数据类型&#xff0c;用于定义一组具有离散值的符号常量。 那通俗一点说就是把一些固定的值&#xff0c;一…...

讯方·智汇云校华为授权培训机构的介绍

官方授权 华为授权培训服务伙伴&#xff08;Huawei Authorized Learning Partner&#xff0c;简称HALP&#xff09;是获得华为授权&#xff0c;面向公众&#xff08;主要为华为企业业务的伙伴/客户&#xff09;提供与华为产品和技术相关的培训服务&#xff0c;培养华为产业链所…...

高级 Conda 使用:环境导出、共享与优化

1. 引言 在 Conda 的基础包管理功能中&#xff0c;我们了解了如何安装、更新和卸载包。但对于开发者来说&#xff0c;如何更好地管理环境、导出环境配置、共享环境&#xff0c;以及如何优化 Conda 的使用效率&#xff0c;才是提高工作效率的关键。本篇博客将进一步深入 Conda …...

从算法到落地:DeepSeek如何突破AI工具的同质化竞争困局

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;Linux网络编程 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 ​ Linux网络编程笔记&#xff1a; https://blog.cs…...

P9584 「MXOI Round 1」城市

题目描述 小 C 是 F 国的总统&#xff0c;尽管这个国家仅存在于网络游戏中&#xff0c;但他确实是这个国家的总统。 F 国由 n 个城市构成&#xff0c;这 n 个城市之间由 n−1 条双向道路互相连接。保证从任意一个城市出发&#xff0c;都能通过这 n−1 条双向道路&#xff0c;…...

CodeGPT + IDEA + DeepSeek,在IDEA中引入DeepSeek实现AI智能开发

CodeGPT IDEA DeepSeek&#xff0c;在IDEA中引入DeepSeek 版本说明 建议和我使用相同版本&#xff0c;实测2022版IDEA无法获取到CodeGPT最新版插件。&#xff08;在IDEA自带插件市场中搜不到&#xff0c;可以去官网搜索最新版本&#xff09; ToolsVersionIntelliJ IDEA202…...

Filter过滤器

Filter:过滤器 概念&#xff1a; web中的过滤器&#xff1a;当访问服务器的资源时&#xff0c;过滤器可以将请求拦截下来&#xff0c;完成一些特殊的功能 过滤器的作用&#xff1a;一般用于完成通用的操作。如&#xff1a;登录验证、统一编码处理、敏感字符处理… 过滤器的生…...

git如何下载指定版本

要使用Git下载指定版本&#xff0c;可以通过以下步骤进行操作‌&#xff1a; ‌1. 使用Git命令行下载指定版本‌&#xff1a; 1.1 首先&#xff0c;使用git clone命令克隆整个git库到本地。例如&#xff1a;git clone [库的URL]。这将下载最新的代码到本地。‌ 1.2 进入克隆…...

开源的 DeepSeek-R1「GitHub 热点速览」

春节假期回来&#xff0c;一睁眼全是王炸级的开源模型 DeepSeek-R1&#xff01; GitHub 地址→github.com/deepseek-ai/DeepSeek-R1 DeepSeek-R1 开源还不到一个月&#xff0c;Star 数就飙升至冲破天际的 70k。虽然目前仅开源了模型权重&#xff0c;但同时发布的技术论文详细地…...

Open FPV VTX开源之OSD使用分类

Open FPV VTX开源之OSD使用分类 1. 源由2. 硬件2.1 【天空端】SigmaStar2.2 【天空端】Raspberry Pi2.3 【地面端】 3. 软件3.1 天空端软件3.2 地面端软件 4. 分类4.1 嵌入式OSD分类A1-嵌入式OSD&#xff1a;SigmaStar Android分类A2-嵌入式OSD&#xff1a;SigmaStar Hi3536分…...

请求超时处理

RequestMapping("/test") public DeferredResult<String> test() {DeferredResult<String> deferredResult new DeferredResult<>(6000L); // 设置超时时间为6秒// 模拟长时间任务new Thread(() -> {try {Thread.sleep(10000); // 模拟10秒的任…...

利用prompt技术结合大模型对目标B/S架构软件系统进行测试

利用prompt技术结合大模型对目标B/S架构软件系统进行测试,可参考以下步骤和方法: 测试需求理解与prompt设计 明确测试点:梳理B/S架构软件系统的功能需求、非功能需求(如性能、安全性、兼容性等),确定具体的测试点,如用户登录功能、数据查询功能、系统响应时间要求等。设…...

Go 语言里中的堆与栈

在 Go 语言里&#xff0c;堆和栈是内存管理的两个重要概念&#xff0c;它们在多个方面存在明显差异&#xff1a; 1. 内存分配与回收方式 栈 分配&#xff1a;Go 语言中&#xff0c;栈内存主要用于存储函数的局部变量和调用信息。当一个函数被调用时&#xff0c;Go 会自动为其…...

【人工智能】如何选择合适的大语言模型,是能否提高工作效率的关键!!!

DeepSeek R1入门指南 导读一、提示语差异1.1 指令侧重点不同1.2 语言风格差异1.3 知识运用引导不同 二、挑选原则2.1 模型选择2.2 提示语设计2.3 避免误区 结语 导读 大家好&#xff0c;很高兴又和大家见面啦&#xff01;&#xff01;&#xff01; 在前面的内容中&#xff0c…...

常见的IP地址分配方式有几种:深入剖析与适用场景‌

在数字互联的世界里&#xff0c;IP地址如同网络世界的“门牌号”&#xff0c;是设备间通信的基础。随着网络技术的飞速发展&#xff0c;IP地址的分配方式也日趋多样化&#xff0c;以适应不同规模、不同需求的网络环境。本文将深入探讨当前主流的几种IP地址分配方式&#xff0c;…...

无人机常见的开源飞控项目

开源飞控软件项目为无人机等无人载具的开发和应用提供了丰富的资源和灵活的解决方案&#xff0c;以下是一些常见的开源飞控软件项目&#xff1a; 1、PX4 简介&#xff1a;PX4 是一个高度模块化、可扩展的开源飞行控制平台&#xff0c;被广泛应用于各种类型的无人机&#xff0…...

模型报错infeasible,如何查看冲突约束

在使用Gurobi求解模型时&#xff0c;如果模型不可行&#xff08;infeasible&#xff09;&#xff0c;可以通过以下步骤来查看冲突的约束或变量&#xff0c;帮助诊断问题&#xff1a; 1. 使用 computeIIS() 方法 Gurobi 提供了 computeIIS() 方法&#xff0c;用于计算不可行模…...

谭浩强C语言程序设计(5) 9章

1、统计三个候选人的票数 #include <cstdio> // 引入标准输入输出库 #include <cstring> // 引入字符串处理库&#xff0c;用于 strcmp 函数 #define N 10 // 定义一个宏常量 N&#xff0c;表示数组的最大长度// 定义一个结构体 Person&#xff0c;用于存储…...