概述
DIO,即,Digital Input Output。该模块抽象了对MCU GPIO的访问。
配置概述
- 首先,需要在 AUTOSAR PORT 中将相应的 Pin 配置为输入输出。AUTOSAR PORT
- 再配置 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。