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.

[参考译文] 编译器/CC3220SF-LAUNCHXL:将代码传输到最新 SDK 后的 HTTP GET 问题

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/858022/compiler-cc3220sf-launchxl-issue-with-http-get-after-trasfering-code-to-latest-sdk

器件型号:CC3220SF-LAUNCHXL

工具/软件:TI C/C++编译器

您好!

我们已使用 SDK 2_30_00_05成功开发了使用 HTTP GET 和 POST 的应用 、然后将我们的应用转移到新的 SDK 3_30_01_02、并成功完成了全部 include 和编译 。 在进行调试时生成 HTTP GET 错误2006、我们已经检查了主机名、API 等。此代码仍在使用较旧的 SDK 2_30。

请帮助

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

    您好!

    哪个命令会准确返回-2006 (sl_RET_CODE_INVALID_input)值?

    请在代码中分步执行(或使用打印件来调试)、以找到确切的故障点。

    BR、

    Kobi

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

    您好!

    我们从 HTTP Connect 函数中收到错误、我们还尝试了 SDK 中的 HTTP GET 示例(主机名和 API 根据我们的应用进行了更改)、但仍然存在相同的问题。 我们尝试调试并发现库中的错误(我们未做任何更改),gethostbyname 函数返回此错误。

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

    请检查 gethostbyname 的参数、并将其与您在工作 SDK 中传递的参数进行比较。

    BR、

    Kobi

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

    您好!

    我们已经检查了这些参数、我们将传递与工作 SDK 中相同的参数。 我们观察到、具有函数的库文件在新 SDK 中是不同的/修改的、看起来不同。 此外、我们还尝试了新的 SDK HTTP GET 示例、它给出了相同的错误。  

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

    你(们)好

    我将在附件中共享我的代码、在旧的 SDK 中它可以正常工作、在新的 SDK 中不能正常工作、此示例文件来自新的 SDK。

    e2e.ti.com/.../7612.httpget.c

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

    2006由您可以跟踪确切故障点的主机生成。

    它可能与未启用的接口有关。

    您的应用程序初始化中应包含以下代码(或类似代码):

    /*网络堆栈已就绪。 初始化套接字层*/
    状态= SlNetSock_init (0);
    if (status!= 0){
    /* SlNetSock_init 失败*/
    while (1);

    状态= SlNetIf 初始化(0);
    if (status!= 0){
    /* SlNetIf 初始化失败*/
    while (1);

    状态= SlNetUtil_init (0);
    if (status!= 0){
    /* SlNetUtil_init 失败*/
    while (1);

    /*使用套接字层注册 WiFi 接口*/
    状态= SlNetIf_add (SLNETIF_ID_1、SLNET_IF_WIFI_NAME、
    (const SlNetIf Config_t *)&SlNetIfConfigWifi、SLNET_IF_WIFI_PRIO);
    if (status!= 0){
    /* SlNetIf 添加失败*/
    while (1);

    最新的 SDK 版本可在一个称为 slNetScok 的抽象层上工作,该抽象层可轻松替换接口(例如,在 WiFi 和以太网之间),而不是直接调用 wifi sl_…… API。

    您需要启用 slNetSock 和 slNetIf 才能启用 HTTP。

    BR、

    Kobi   

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

    你(们)好

    我们检查了您建议的任何内容、并且已经完成了我们的示例。 您还可以创建 HTTP GET 示例、并从共享文件中获取参数、并尝试创建参数。

    e2e.ti.com/.../7345.httpget.ce2e.ti.com/.../4431.platform.c

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

    当使用的套接字关闭时、返回-2006。 是否确定套接字状态?

    您是否能够在新 SDK 中使用参考"HttpGet"示例?

    请提供固件日志(https://processors.wiki.ti.com/index.php/CC3120_&_CC3220_Capture_NWP_Logs)?)

    BR、

    Kobi

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

    你(们)好

    我已经尝试过新 SDK 的"HTTPGET"示例、但问题相同。 此外、以前 共享的代码文件仅来自该文件。 您也可以在 attachment.e2e.ti.com/.../20191223105613.log 中看到日志文件

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

    您好!

    请尝试调试 SlNetUtil_getstbyname (通过使用调试器进入内部、或者通过将 sources/ti/net/slnetutils.c 添加到您的项目并在函数中添加调试消息)。

    有几个故障点、但我无法判断哪一个与之相关。 我需要更多的信息来了解您的问题。

    BR、

    Kobi

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

    您好!

    我们将尝试在  SlNetUtil_gethostbyname 函数内进行调试。  

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

    好的。  

    如果您有任何疑问、请告知我们。

    BR、

    Kobi

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

    您好!

    目前、我们将重点放在主应用程序开发上、并同时寻找解决此类问题的解决方案。 我们在这个论坛上发帖、肯定会解决任何问题。

    谢谢你