本规约规约 AUTOSAR 基础软件模块 DIO 驱动(Digital Input/Output Driver, DIO)的功能、API 与配置。DIO 驱动位于微控制器抽象层(MCAL),提供对数字引脚、端口、通道组的读写访问。
| 缩略语 | 描述 |
|---|---|
| DIO | Digital Input Output(数字输入输出) |
| Channel | 单个数字引脚 |
| Port | 一组数字引脚(典型 8/16/32 bit) |
| Channel Group | 端口内的位掩码子集 |
| MCAL | Microcontroller Abstraction Layer(微控制器抽象层) |
| DET | Default Error Tracer(默认错误追踪器) |
AUTOSAR_EXP_LayeredSoftwareArchitecture — 分层软件架构AUTOSAR_SRS_BSWGeneral — 基础软件通用需求AUTOSAR_SWS_BSWGeneral — 基础软件通用规范AUTOSAR_SRS_DIODriver — DIO 驱动需求AUTOSAR_SRS_PortDriver — PORT 驱动需求DIO 驱动提供对引脚、端口、通道组的简单读写。引脚方向由 PORT 驱动在初始化时配置;DIO 函数不修改方向。
DIO 驱动依赖 PORT 驱动(用于引脚方向配置)、DET(开发错误追踪)、OS(多核分区)。
DIO 驱动满足 SRS_Dio_NNNNN 中的 12 条需求。SWS_Dio_NNNNN 规范项 ID 约 200+ 条(编号范围 00001-00203)。
DIO 驱动允许以下预配置:
DIO 驱动提供同步读写:Dio_ReadChannel/WriteChannel(单引脚)、Dio_ReadPort/WritePort(整个端口)、Dio_ReadChannelGroup/WriteChannelGroup(通道组)、Dio_FlipChannel(翻转)、Dio_MaskedWritePort(掩码写)。
| 错误码 | 含义 |
|---|---|
DIO_E_PARAM_INVALID_CHANNEL_ID | 无效的通道 ID |
DIO_E_PARAM_INVALID_PORT_ID | 无效的端口 ID |
DIO_E_PARAM_INVALID_GROUP | 无效的通道组 |
DIO_E_PARAM_POINTER | 无效的指针 |
无。
无。
无。
无。
Std_ReturnType、Std_VersionInfoType| 类型 | 描述 |
|---|---|
Dio_ConfigType | DIO 抽象配置类型 |
Dio_ChannelType | 通道 ID(uint8/16/32) |
Dio_PortType | 端口 ID(uint8/16/32) |
Dio_LevelType | 引脚电平(STD_HIGH/STD_LOW) |
Dio_ChannelGroupType | 通道组结构(mask/offset/port) |
| API | 签名 | 功能 |
|---|---|---|
Dio_ReadChannel | Dio_LevelType Dio_ReadChannel(Dio_ChannelType ChannelId) | 读单引脚 |
Dio_WriteChannel | void Dio_WriteChannel(Dio_ChannelType ChannelId, Dio_LevelType Level) | 写单引脚 |
Dio_ReadPort | Dio_PortLevelType Dio_ReadPort(Dio_PortType PortId) | 读整个端口 |
Dio_WritePort | void Dio_WritePort(Dio_PortType PortId, Dio_PortLevelType Level) | 写整个端口 |
Dio_ReadChannelGroup | Dio_PortLevelType Dio_ReadChannelGroup(const Dio_ChannelGroupType* ChannelGroupIdPtr) | 读通道组 |
Dio_WriteChannelGroup | void Dio_WriteChannelGroup(const Dio_ChannelGroupType* ChannelGroupIdPtr, Dio_PortLevelType Level) | 写通道组 |
Dio_GetVersionInfo | void Dio_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr) | 获取版本信息 |
Dio_FlipChannel | Dio_LevelType Dio_FlipChannel(Dio_ChannelType ChannelId) | 翻转单引脚电平并返回新电平 |
Dio_MaskedWritePort | void Dio_MaskedWritePort(Dio_PortType PortId, Dio_PortLevelType Level, Dio_PortLevelType Mask) | 掩码写端口(仅修改掩码为 1 的位) |
共 9 个 API 函数。
Dio_ReadChannel(ChannelId) → 返回电平;Dio_WriteChannel(ChannelId, Level) → 引脚输出新电平;Dio_ReadPort(PortId) → 返回端口值;Dio_FlipChannel(ChannelId) → 翻转电平 → 返回新电平;Dio_MaskedWritePort(PortId, Level, Mask) → 端口 = (端口 & ~Mask) | (Level & Mask)。| 容器 | 描述 |
|---|---|
| Dio | 根容器(开发错误检测、版本 API、多核支持等开关) |
| DioGeneral | 通用配置(端口数) |
| DioPort | 端口定义 |
| DioChannelGroup | 通道组定义(位掩码/偏移/端口) |
共 4 个 ECUC 容器,含 10+ 配置参数。
发布信息包括 DIO 模块版本、配置变体、端口数、通道组数等。
校对轮次:L1 自动校对(2026-06-13)
DIO_E_PARAM_INVALID_CHANNEL_ID/PORT_ID/GROUP/POINTER)完整翻译。