目录
0 前言
本文主要适用于适用OSEK_TP层函数的故障注入,函数如下图所示,使用该函数最直接的功能就是需要发送长报文时(超过8个字节),可以直接发送,不需要自己对数据进行分段。因为不是本文的重点,所以不做详解。
1 故障注入函数介绍
1.1 CanTpFI_DelayCF() 主要用于延迟连续帧的发送,主要语法如下所示:
long CanTpFI_DelayCF(long handle, long frameNo, dword delay_ms)
例如:
CanTpFI_DelayCF(PhyCHAN,2,25)
其中的PhyCHAN是CHAN_Build()函数建立的通道,2是第2帧,25是延迟25ms发送
如下图所示,可以看到第二帧[22]延迟了25ms才发出
1.2 CanTpFI_DropCF()主要用于干扰连续帧,让其后续的帧无法发出,主要语法如下所示:
long CanTpFI_DropCF(long handle, dwordCFno)
例如:
CanTpFI_DropCF(PhyCHAN, 6);//在第6个连续帧后干扰
1.3 CanTpFI_DoubleCF()主要用于重复发送特定的连续帧,主要语法如下所示:
long CanTpFI_DoubleCF(long handle, long frameNo, dword delay_ms)
例如:
CanTpFI_DoubleCF(PhyCHAN,6,1);//第6个连续帧发两次,发送的间隔为1ms
TIPS:
需要注意的是这三个函数的前后需要加上enable与disable才能正常运行。