优质博文推荐阅读(单击下方链接,即可跳转):
Vector工具链
CAN Matrix DBC
CAN Matrix Arxml
一、在CANoe/CANalyzer中创建Program Node
在Measurement Setup中,创建Program Node;
接着导入下面的Demo:NM_Frame.can;(替换需要的CANID,以及数据段的字节值即可)
/*@!Encoding:936*/
includes
{}variables
{message 0x211 Message_211 = {dlc=8}; //定义要发送的报文msTimer Message_211_timer; // 报文发送周期 msTimer Cycle_Start_timer; // 发送窗口:允许报文在该时段发送 msTimer Cycle_End_timer; // 完成一次循环的时间byte Cycle_Start_timer_Flg = 0;
}on start
{setTimer(Message_211_timer,100); // 启动报文周期发送定时器setTimer(Cycle_Start_timer,10000); // 启动报文发送的窗口定时器setTimer(Cycle_End_timer,30000); // 启动发送的循环定时器
}on timer Message_211_timer
{Message_211.byte(0)=0x00; Message_211.byte(1)=0x01;Message_211.byte(2)=0x02; Message_211.byte(3)=0x03;Message_211.byte(4)=0x04; Message_211.byte(5)=0x05;Message_211.byte(6)=0x06; Message_211.byte(7)=0x07;output(Message_211); // 输出报文到CAN总线if(Cycle_Start_timer_Flg == 0){setTimer(Message_211_timer,100); // 重置报文周期发送定时器}
}on timer Cycle_Start_timer
{if(Cycle_Start_timer_Flg == 0){Cycle_Start_timer_Flg = 1; }
}on timer Cycle_End_timer // 完成一个循环后,重置所有定时器
{Cycle_Start_timer_Flg = 0;setTimer(Message_211_timer,100);setTimer(Cycle_Start_timer,10000);setTimer(Cycle_End_timer,30000);
}
CANoe/CANalyzer配置完成后的效果如下图:
二、运行效果
您会看到NM帧发送10秒,停20秒,如此循环往复。
END
获取更多“汽车电子资讯”和“工具链使用”,
请关注“汽车电子助手”,做您的好助手