news 2026/5/31 3:26:36

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/5/30 12:05:09

uds31服务在Bootloader阶段的典型应用

uds31服务在Bootloader阶段的实战应用&#xff1a;从协议解析到工程落地当你在刷写ECU时&#xff0c;谁在幕后“点火”&#xff1f;你有没有想过&#xff0c;在整车厂产线或售后维修站执行一次固件刷新时&#xff0c;为什么不是一上电就直接开始烧录&#xff1f;为什么诊断工具…

作者头像 李华
网站建设 2026/5/30 11:39:58

MOSFET高边驱动自举二极管选型全面讲解

深入理解MOSFET高边驱动&#xff1a;自举二极管为何如此关键&#xff1f;在设计一个高效、可靠的DC-DC变换器或电机驱动电路时&#xff0c;你是否曾遇到过这样的问题&#xff1a;高边MOSFET总是无法完全导通&#xff1f;系统发热严重&#xff1f;甚至在高温下直接“丢脉冲”导致…

作者头像 李华
网站建设 2026/5/28 11:42:13

Miniconda-Python3.10镜像在语音合成大模型中的实践

Miniconda-Python3.10镜像在语音合成大模型中的实践 在当前AI研发节奏日益加快的背景下&#xff0c;语音合成技术正从实验室走向大规模落地。无论是智能音箱里的自然对话&#xff0c;还是有声书平台上的拟人朗读&#xff0c;背后都离不开高质量TTS模型的支持。但一个常被忽视的…

作者头像 李华
网站建设 2026/5/29 17:18:41

STM32中hal_uart_transmit的入门操作指南

从零开始掌握 STM32 串口发送&#xff1a; HAL_UART_Transmit 实战全解析 在嵌入式开发的日常中&#xff0c;你有没有遇到过这样的场景&#xff1f;代码烧录成功、板子通电正常&#xff0c;但调试助手却迟迟没有输出“Hello World”——那一刻&#xff0c;是不是怀疑人生了&a…

作者头像 李华
网站建设 2026/5/30 20:22:39

Miniconda-Python3.10镜像在新闻写作大模型中的落地

Miniconda-Python3.10镜像在新闻写作大模型中的落地 在当今媒体行业加速数字化转型的背景下&#xff0c;自动化内容生成正从“辅助工具”演变为“核心生产力”。越来越多的新闻机构开始引入大语言模型&#xff08;LLM&#xff09;来完成标题拟定、摘要提取甚至整篇稿件撰写。然…

作者头像 李华
网站建设 2026/5/29 23:56:36

企业估值中的客户获取成本分析

企业估值中的客户获取成本分析关键词&#xff1a;企业估值、客户获取成本、CAC分析、市场营销、财务评估摘要&#xff1a;本文围绕企业估值中的客户获取成本分析展开。详细阐述了客户获取成本的核心概念、相关联系及计算原理&#xff0c;结合数学模型和公式进行深入讲解&#x…

作者头像 李华