news 2026/2/10 5:12:52

D01期:档位的转换

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
D01期:档位的转换

#include <stdint.h>
2
3// ========================
4// 定义枚举类型(示例)
5// ========================
6typedef enum {
7 GEAR_N = 0, // 空档
8 GEAR_R = 14, // 倒档
9 GEAR_1 = 1,
10 GEAR_2 = 2,
11 GEAR_3 = 3,
12 GEAR_4 = 4,
13 GEAR_5 = 5,
14 GEAR_6 = 6,
15 GEAR_7 = 7,
16 GEAR_8 = 8,
17 GEAR_SHIFTING = 15 // 换挡中
18} TCU_Gear_E;


// ========================
// 函数接口声明
// ========================
extern uint8_t VHAL_TCUGear_enum; // 外部输入:TCU 实际档位
extern int8_t KINP_TCUGearMin_enum; // 最小允许档位(例如 0)
extern int8_t KINP_TCUGearMax_enum; // 最大允许档位(例如 8)

// ========================
// 内部变量(模拟 Z⁻¹ 记忆单元)
// ========================
static TCU_Gear_E VINP_TCUGear_enum_mem = GEAR_N; // 初始为空档

// ========================
// 主函数:档位处理逻辑
// ========================
TCU_Gear_E VINP_TCUGear_enum(void) {
TCU_Gear_E current_input;
TCU_Gear_E filtered_input;
TCU_Gear_E final_output;

// Step 1: 获取当前输入并预处理
if (VHAL_TCUGear_enum == 14) {
current_input = -1;
} else if (VHAL_TCUGear_enum == 0) {
current_input = GEAR_N; // 无效输入设为空档
}


else if (VHAL_TCUGear_enum == -1) {
current_input = GEAR_N; // 无效输入设为空档
} else if (VHAL_TCUGear_enum == GEAR_SHIFTING) {//15
current_input = VINP_TCUGear_enum_mem; // 换挡中时维持上一档
} else {
current_input = (TCU_Gear_E)VHAL_TCUGear_enum;
}

// Step 2: 边界检查
if (current_input >= KINP_TCUGearMin_enum && current_input <= KINP_TCUGearMax_enum) {
filtered_input = current_input;
} else {
filtered_input = GEAR_N; // 超出范围则置为空档
}

// Step 3: 更新记忆变量(模拟 Z⁻¹)
final_output = filtered_input;
VINP_TCUGear_enum_mem = final_output;

return final_output;
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/9 7:05:17

D02期:档位切换

TCU : 14 :倒档时给-1&#xff1b; 0 空档 1-8 &#xff1a; 1-8档 15&#xff1a;换挡动作中&#xff08;包括脱档、调速、进档&#xff09;除此之外的其他值就是 本身

作者头像 李华
网站建设 2026/2/7 2:56:09

Miniconda结合NVIDIA Docker实现端到端AI训练环境

Miniconda结合NVIDIA Docker实现端到端AI训练环境 在深度学习项目日益复杂的今天&#xff0c;你是否也遇到过这样的场景&#xff1a;本地跑通的模型一上服务器就报错&#xff1f;团队成员因CUDA版本不一致导致PyTorch无法加载GPU&#xff1f;新同事配置开发环境花了整整三天&a…

作者头像 李华
网站建设 2026/2/6 9:35:19

零基础学习驱动程序安装:从识别硬件开始

零基础也能搞懂驱动安装&#xff1a;从“这是什么设备&#xff1f;”开始讲起你有没有遇到过这种情况&#xff1a;插上一个新买的USB网卡&#xff0c;系统却提示“未知设备”&#xff1f;或者重装系统后&#xff0c;屏幕分辨率低得像回到了20年前&#xff1f;更惨的是&#xff…

作者头像 李华
网站建设 2026/2/9 6:52:39

利用Miniconda-Python3.10镜像快速启动大模型微调任务

利用Miniconda-Python3.10镜像快速启动大模型微调任务 在AI研发一线摸爬滚打的工程师都经历过这样的场景&#xff1a;好不容易跑通一个大模型微调实验&#xff0c;换一台机器复现时却因为transformers版本差了一点点、PyTorch和CUDA不匹配&#xff0c;导致训练崩溃。更糟的是&a…

作者头像 李华
网站建设 2026/2/7 13:31:40

价值投资中的可编程材料在工业中的应用前景

价值投资中的可编程材料在工业中的应用前景关键词&#xff1a;价值投资、可编程材料、工业应用、前景分析、材料科学摘要&#xff1a;本文聚焦于价值投资视角下可编程材料在工业中的应用前景。首先介绍了可编程材料的相关背景&#xff0c;包括目的、预期读者等内容。接着阐述了…

作者头像 李华
网站建设 2026/2/7 23:05:01

Miniconda安装后无法使用conda命令?初始化步骤详解

Miniconda安装后无法使用conda命令&#xff1f;初始化步骤详解 在数据科学和人工智能项目中&#xff0c;Python 环境管理早已不是“可有可无”的附加技能。越来越多的开发者发现&#xff1a;明明安装了 Miniconda&#xff0c;却在终端输入 conda --version 时收到一条冰冷的报错…

作者头像 李华