您好!
我在创建套接字时设置 g_pc->SocketTXFailure 时遇到问题,因此无法通过套接字发送数据。
下面的行(位于_SlDrvDataWriteOp)使这种情况发生。 如果我指出、如果阻止、一切都按预期工作、我可以发送和接收数据、而不会出现任何其他问题。
if (g_PCB-> SocketTXFailure &(1<<(SD & SL_BSD_BSD_Socket_ID_MASK)))
我已在以下行中设置条件断点(在_SlDrvMsgRead 上)。
G_PCB->FlowContactCB.MinTxPayloadSize =((_SlResponse Header_t *) uBuf.TempBuf)->MinMaxPayload;
如果在创建套接字时遇到问题。 以下是调用堆栈:
_IntDrvMsgRead (unsigned short * outMsgReadLen、unsigned char ** p16_OutBuf)(ti\drivers\net\fili\sources\driver.c:1277)_SlDrvMsgmdCmdCmdClen (unsigned short cmccode、unsigned ReadIsLockRef1)(vif\drivers\net\wifi \source\tradcs.c:trf) * 、ntf * crf (vf)* crf cf cf *、nt_enf cf cr * crf cf (unsigned cf)/slf cf cf *、nt_enf cr *、ntf cr * crf cf cr * crf cf cr、ntf cr、ntf cf cr * crf cf cr、ntf cr、ntf cr * crf cf cr *、ntf cf cf cr *、ntf cr inf cr *、ntf cr inf cr inf cr、ntf cr、 int16_t 协议、uint32_t ifBitmap、int16_t 标志)(ti\net\slnetsock.c:408)
考虑到对 SlDrvDataWriteOp 的验证允许一切正常工作,我相信可以假设调用代码正常(接口设置、连接正常、端点寻址等)。 此外、在创建套接字时将 SocketTXFailure 的值设置为高于0似乎有点奇怪。
了解有关如何解决此问题或如何调试此行为的根本原因的任何提示。