如何通过CAPL发送以太网包或UDP数据包?我知道有一个以太网IG块,但我想知道我们是否可以通过capl脚本发送它,就像can消息通过CaPL发送一样。
发布于 2018-04-04 06:48:04
您确实可以通过CAPL发送以太网数据包。
使用选项.Ethernet,提供了几个用于接收和传输以太网帧的API。
CAPL功能指南。
例如,函数ethernetPacket
用于创建以太网发送对象。不幸的是,我自己从来没有这样做过,所以我没有一个片段来演示这一点,但是我敦促您参考CAPL Functions
> Ethernet CAPL Functions
节下的独木舟/卡纳里泽指南。类似中断的过程也被提供给以太网通信,例如on ethernetPacket
.另外,你可能需要在研究上投入更多的精力,下次.
我对UDP一无所知,但为了完整起见,CAPL为TCP/IP、FlexRay、RS232 (串行)以及J1939、nothing等标准提供了API。
发布于 2019-02-06 12:37:43
函数ethernetPacket <packet var>;
可用于创建以太网发送对象。对象数据可以由与此对象关联的选择器进行操作。有关这些选择器的更多信息,可以在以下路径的帮助中找到: CAPL函数?以太网?这里是关于如何通过CAPL发送以太网数据包的示例。
ethernetPacket txPacket;
int i;
txPacket.msgChannel = 1;
txPacket.hwChannel = 2;
txPacket.source = EthGetMacAddressAsNumber( "20:00:00:00:00:01" );
txPacket.destination = EthGetMacAddressAsNumber( "FF:FF:FF:FF:FF:FF" );
txPacket.Length = 100;
txPacket.type = 0xF123;
for( i = 0; i < txPacket.Length; i++ )
{
txPacket.Byte(i) = i & 0xFF;
}
output( txPacket );
https://stackoverflow.com/questions/49576946
复制相似问题