This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LAUNCHCC3235MOD:TaskCreate 文档或 arg2问题

Guru**** 2388290 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1291147/launchcc3235mod-taskcreate-documentation-or-arg2-question

器件型号:LAUNCHCC3235MOD

我想在 tcpHandler, TaskCreate(tcpW0, NULL, 32048,(uintptr_t)clientfd,中更改工作线程 0、0)、TaskCreate (void (* pFun)()、char *名称、int priority、
uint32_t STACKSIZE、uintptr_t arg1、uintptr_t arg2、uintptr_t arg3)、其 arg2将指定要使用的缓冲区指针。 这是可以的吗?  我看到 arg3被保留的地方,我发现 tcpWorker 中没有使用 arg2。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    arg2正在使用、因此您可以使用它。 您到底想要做什么呢?

    什洛米

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我正在尝试做一个 multiclient tcpWorker。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    正如我提到的、您可以使用 arg2、但 在代码中、它不是在任何位置设置的。

    在任务执行时您是否需要它可用?

    什洛米

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的,但我在一个混乱的中间,我做了。 tcpEcho 的工作非常出色,因为它可以正确地向不同的客户端发送响应,但是当我尝试扩展到消息并使用特定于客户端的全局缓冲区时,就会遇到问题。 现在的问题是在下面的地方 ,但它似乎需要两个发送从客户端得到回应。 我本以为这几个人会在第二个段落的队列中排队。

    while(1){
            // see if receive available
            bytesRcvd = recv(clientfd, buffer, MSGSZ, MSG_DONTWAIT | MSG_PEEK);
            if (bytesRcvd > 0) {
                ig =-1;
                while(ig<0){ ig = get_ig(iclient,MRCVG);}
                msgini(iclient,ig);
                // Receive a fixed-size message
                bytesRcvd = recv(clientfd, &(aaaucmsg[iclient][ig][0]), MSGSZ, 0);
                //...process and respond
                // but it seems it takes two sends from client to get respnse

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不得不说、我没有遵循确切的问题、因为我没有完整的代码和流程。

    如果有特定内容、请告诉我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    现在一切都好了。