
CanTpGetMaximumReceiveLength & CanTpSetMaximumReceiveLength

功能:获取或设置该节点接收数据时可接受的最大长度;如果指示较长数据块的第一帧到达,则溢出 (FC.Ovflw) 流状态流控制帧将被发送回发送器。
注意:CANoe 支持高达 16 MiB 的数据传输,大于此的数据块将被自动剪切。
connHandle:传输协议连接的句柄。
maxLength:设置该节点接收数据时的最大可接受长度。
代码示例
设置接收数据长度最大为50byte,拒绝接收长度超过50字节的数据。
CanTpSetMaximumReceiveLength( connHandle, 50);CanTpGetWaitingMode & CanTpSetWaitingMode

功能:获取并设置连接的等待模式
1:表示等待模式处于活动状态/应激活
0:表示等待模式处于关闭状态。
说明:TP 连接可以设置为等待模式,这意味着将等待 (FC.WT) 帧发送到发送器,而不是清除发送 (FC.CTS) 流量控制帧。 发送器必须等待 FC.CTS,然后才能继续发送连续帧。
可以在收到第一帧后(即在回调中)直接更改连接的“等待”模式。 接收器可以通过停用“等待”模式让发送器继续发送数据。 这将导致接收方立即发送 FC.CTS 帧。
flag:
0:离开
1:活跃/应该被激活
CanTpSetBitRateSwitch

功能:设置 CAN FD 帧上的比特率开关值。
说明:如果给定连接上使用 CAN FD 帧,则激活或停用比特率切换标志; 如果 CAN FD 未激活连接,则不会发生任何情况。
connHandle:传输协议连接的句柄。
bitRateSwitch:
        0:不设置标志
         1:在CAN FD帧上设置标志
         其他:保留
返回值:
| Code | Short Description | 
| -19 | 没有这样的连接,即连接创建失败或给定的句柄未知。 | 
| -18 | 连接已知,但同时已关闭。 | 
| -17 | 该功能尚未实现。 | 
| -16 | CAPL 函数接收到错误的参数。 | 
| -15 | CAPL 函数只能从适当的回调函数中调用。 | 
| -14 | 无法为其所应用的寻址模式调用函数。 | 
| -13 | 这在回调函数中是不可能的。 | 
| -12 | 故障注入未激活。 | 
| 0 | 好的,没有错误 | 
代码示例
long CreateCANFDConnection( WORD txId, WORD rxId)
{
  long handle;
  //normal模式
  handle = CanTpCreateConnection( 0);
  CanTpSetTxIdentifier( handle, txId);
  CanTpSetRxIdentifier( handle, rxId);
  CanTpSetMaxCANFDFrameLength( handle, 24);  // 使能 CAN FD
  CanTpSetBitRateSwitch( handle, 1);         // 使能 BRS 位
  return handle;
}CanTpSetMaxCANFDFrameLength

功能:使用给定连接上的 CAN FD 帧激活或停用。 如果处于活动状态,将创建尽可能长的 CAN FD 帧(最小 8 字节)。
connHandle:传输协议连接的句柄。
maxCANFDFrameLength:
         0:激活CAN 2.0,停用 CAN FD
8、12、16、20、24、32、48、64:激活 CAN FD 并指示 TP 层在必要时应使用达到此长度的 CAN FD 帧。 帧的其余部分用默认为 0xCC 的填充字节填充。
其他:保留
返回值:
| Code | Short Description | 
| -19 | 没有这样的连接,即连接创建失败或给定的句柄未知。 | 
| -18 | 连接已知,但同时已关闭。 | 
| -17 | 该功能尚未实现。 | 
| -16 | CAPL 函数接收到错误的参数。 | 
| -15 | CAPL 函数只能从适当的回调函数中调用。 | 
| -14 | 无法为其所应用的寻址模式调用函数。 | 
| -13 | 这在回调函数中是不可能的。 | 
| -12 | 故障注入未激活。 | 
| 0 | 好的,没有错误 | 
代码示例
参考CanTpSetBitRateSwitch示例
CanTpSetWaitFrameTransmissionMax

功能:设置 WFTmax,即连接在必须中止接收之前可以发送的 FC.WT 帧的数量。
说明:参数WFTmax指示接收器在必须中止接收之前可以连续发送的FC.WT帧的数量。 一旦流量控制帧超时到期,发送器将中止传输。
connHandle:传输协议连接的句柄。
WFTmax:设置FC.WT 帧的数量
代码示例
当接收到第一帧时,连接被设置为等待模式。 3秒后离开等待状态,即发射器可以继续发送数据。 请注意,连接可以发送的 FC.WT 流量控制帧的数量设置为 5,以确保接收不会过早中止。
CanTp_FirstFrameInd( long handle, dword count)
{
  gWaitingHandle = handle;
  CanTpSetWaitingMode( handle, 1);
  CanTpSetWaitFrameTransmissionMax( handle, 5);
  setTimer( tClearWaiting, 3000);
}
on timer tClearWaiting
{
  if( gWaitingHandle > 0
    && CanTpGetWaitingMode(gWaitingHandle) == 1)
  {
    CanTpSetWaitingMode(gWaitingHandle, 0);
  }
}




![[python]conda激活环境后pip -V显示在base路径](https://img-blog.csdnimg.cn/09a1978d3519414990960ceb6c1bd6cf.jpeg)



![#P0994. [NOIP2004普及组] 花生采摘](https://img-blog.csdnimg.cn/img_convert/0c1bbf5fb275efb7c8e5f8f26d037929.png)









