简述
CanIf_SetDynamicTxId是AUTOSAR官方文档定义的标准函数。在Vector的Davinc工具中由CanIfPublicCfg的配置参数 SetDynamicTxIdApi决定:
CanIf_SetDynamicTxId的传参为:
- CanIfTxSduId
- CanId
详细如下图所示
函数定义:
FUNC(void, CANIF_CODE) CanIf_SetDynamicTxId(PduIdType CanTxPduId, Can_IdType CanId)
第一个传参代表要设置的TxPdu,即CanIfTxPduId; 第二个参数代表要设置成的CanId。
下面来看一下 CanIf_SetDynamicTxId的具体函数实现。
代码分析
局部变量定义
定义函数中使用的局部变量,包括:errorId,controllerId,dynamicPduId。errorId是用于存放运行时错误,报告给DET;controllerId是用于存放依据传参"CanTxPduId"获取的控制器Id;dynamicPduId看名字是代表动态的Id,其实并不是Id&