概述

DIO,即,Digital Input Output。该模块抽象了对MCU GPIO的访问。

配置概述

  1. 首先,需要在 AUTOSAR PORT 中将相应的 Pin 配置为输入输出。AUTOSAR PORT
  2. 再配置 AUTOSAR DIO

配置 AUTOSAR DIO

DioPort

一个 DioPort 对应一个 MCU Port(AUTOSAR PORT),可根据需要新建DioPort的数量,如下示例。

Name:用户自定义。建议与 AUTOSAR PORT 的 PortContainer 的名字在形式上可一眼看出对应关系。

DioPortId:DioPort 的 ID,唯一标志一个 DioPort。建议与 AUTOSAR PORT 的 PortContainer 的名字在形式上可一眼看出对应关系。

例如:

  

DioChannel

Name:用户自定义。

DioChannelId:需要与AUTOSAR PORT中相应的PortPin的配置项 PortPinId 相同,否则两者无法关联。

DioChannelGroup

一个 DioChannelGroup 以 Dio_ChannelGroupType 类型定义,如下。

typedef struct{
  Dio_PortLevelType       mask;
  uint8        offset;
  Dio_PortType port;
} Dio_ChannelGroupType;

Name:用户自定义。

DioChannelGroupIdentification:DioChannelGroup的标志,用于注释/标志。

DioPortMask:该DioPort中组成该DioChannelGroup的Pin的位置(按Bit,1为选择)(连续的Bit/Pin)。

DioPortOffset:该DioChannelGroup在Port中的位置(从Port的最低位开始计算),可以从DioPortMask中计算得出。如果定义了DioPortMask,DioPortOffset会不可编辑(为0且不可编辑),但,生成代码时,会按照DioPortMask计算DioPortOffset;例如,DioPortMask = 8,生成代码后,源文件中 DioPortOffset = 3。