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.

[参考译文] IWR1642BOOST:通过 UART 与 C++连接。

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/732342/iwr1642boost-interfacing-with-through-uart-with-c

器件型号:IWR1642BOOST

我正在尝试使用内置 API、以便通过 UART 与电路板连接。  我无法编译代码、因为我收到未声明 SOC_ModuleID 的错误。  我尝试在 SDK 1.02版和2.00版中编译、但每个版本都有相同的问题。   

这是我收到的错误消息。

在/home/parallels/ti/mmwave_sdk_02_00_00_04/packages/ti/control/mmwave/mmwave.h:164:0文件中、
从 driver.cpp:13:
/home/parallels/ti/mmwave_sdk_02_00_00_04/packages/ti/drivers/soc/soc.h:347:61:error:‘SOC_ModuleId’has not been declared (OC_ModuleId’未声明)
extern Int32_t SOC_setPeripheralClock (SOC_Handle handle、SOC_ModuleId 模块、SOC_PeripheralClkSource clkSource clkSource、
^μ A
/home/parallels/ti/mmwave_sdk_02_00_00_04/packages/ti/drivers/soc/soc.h:348:57:‘S:尚未声明‘OC_ModuleId’
extern Int32_t SOC_initPeripheralRam (SOC_Handle handle、SOC_ModuleId 模块、Int32_t* errCode);

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

    您是编写自定义软件还是从演示开始? 如果编写您自己的软件、您是否正在使用 RTOS?

    有关使用 UART 的示例、请参阅开箱即用演示- SDK 中提供了所有源代码。
    C:\ti\mmwave_sdk_02_00_00_04\packages/ti\demo\xwr16xx\MMW\MSS
    MSS_main.c 在第2273行的 msInitTask 中初始化 UART。

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

    您是否仍然遇到 UART 驱动程序的问题?

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

    我正在编写定制软件、因为我对演示有点混乱。  现在、我甚至还没有初始化或尝试运行 UART、我在编译时遇到错误。  我有 使用毫米波 API 所必需的#include <ti/control/mmwave/mmwave.h>。  它指出、在 SoC/soc.h 中、尚未声明 SOC_ModuleId。  我已经尝试了 SDK 版本1.02和2.00。 我在这两者中得到相同的误差。

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

    要初始化 SOC、您必须校准 SCO_init (SoC_CONFIG、ERROR_CODE)。 确保您包含的是来自的 soc.h
    请查看开箱即用演示的源代码,以了解如何在 main()中完成此操作。

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

    问题出在包含 soc.h 我包含了 mmwave.h、其中包括 SoC.h  当我在主代码中不使用代码进行编译并且仅使用 mmWave.h 进行编译时、我会收到错误  此错误位于 soc.h 中、我在下载和构建 SDK 时未修改该错误。  编译和错误如下:

    G++-Wall -std=c++11 -o 驱动程序 driver.cpp -i/home/Parallels/ti/mmwave_sdk_01_02_00_05/packages/
    在/home/parallels/ti/mmwave_sdk_01_02_00_05/packages/ti/control/mmwave/mmwave.h:164:0文件中、
    从 driver.cpp:13:
    /home/parallels/ti/mmwave_sdk_01_02_00_05/packages/ti/drivers/soc/soc.h:346:61:error:‘SOC_ModuleId’has not been declared (OC_ModuleId’未声明)
    extern Int32_t SOC_setPeripheralClock (SOC_Handle handle、SOC_ModuleId 模块、SOC_PeripheralClkSource clkSource、uint8_t clkDivisor、Int32_t* errCode);
    ^μ A
    /home/parallels/ti/mmwave_sdk_01_02_00_05/packages/ti/drivers/soc/soc.h:347:57:‘S:尚未声明‘OC_ModuleId’
    extern Int32_t SOC_initPeripheralRam (SOC_Handle handle、SOC_ModuleId 模块、Int32_t* errCode);

    我的整个 driver.cpp 文件如下所示:

    #include
    #include

    使用命名空间 std;

    int main()

    当我编译下面的代码时、这会导致上面的错误。  感谢您抽出时间为我提供帮助。

    Davis

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

    您需要声明设备类型。 请参阅 SoC.h 中的第76 - 82行:
    #ifdef SOC_XWR14XX
    #include
    #endif

    #ifdef SOC_XWR16XX
    #include
    #endif

    if 语句中包含的文件具有 SOC_ModuleId 声明。

    理想情况下、您将在 CCS 中的项目设置或 makefile 中定义器件。

    此致、
    Justin
x 出现错误。请重试或与管理员联系。