SmartSnippets Studio中的AD_SPI_OPEN(NAME)提供了未定义的参考

了解更多常见问题解答教程

6个帖子/ 0新
最后一篇
米肯
离线
最后一次露面:6个月前1年
加入:2016-07-13 20:06
SmartSnippets Studio中的AD_SPI_OPEN(NAME)提供了未定义的参考

你好,

试图在SmartSnippet Studio(v2.0.7.1335)中编译的项目,克隆项目是DK_APPS /功能/ BLE_PERITERAL。

所有工作都很棒,但在我的一个文件中我有一个语句[dev = ad_spi_open(myname)]

编译器抱怨错误未定义对“MyName”的引用

该项目包括一个包含文件my_platform_devices.h,它具有语句:

SPI_BUS(SPI1)
spi_slave_device(spi1,myname,hw_gpio_port_3,hw_gpio_pin_2,hw_spi_word_8bit,
hw_spi_pol_low,hw_spi_pha_mode_0,hw_spi_freq_div_8,0);
spi_bus_end.

如果我将鼠标悬停在C文件中的语句中,我甚至看到包含文件中的定义。

对何处寻找/如何解决此问题的任何建议?

sdk = da1468x_da15xxx_sdk_1.0.14.1081

谢谢。

设备:
PM_DIALOG.
离线
最后一次露面:37分钟3秒前
职员
加入:2018-02-08 11:03
嗨myken,

嗨myken,

您是否创建了SPI_DEVICE对象如下?

spi_device dev = ad_spi_open(myname);

请尝试一下,让我知道。

此外,我强烈建议你看看SPI适配器概念来自我们的支持门户的教程。

谢谢,PM_DIALOG.

米肯
离线
最后一次露面:6个月前1年
加入:2016-07-13 20:06
是的,我做到了:

是的,我做到了:

spi_device dev;dev = ad_spi_open(myname);

忘了第一部分复制。

基本上,软件就是Works和运行,即我编译和链接它使用普通的makefiles并测试它(工作正常)。
现在我试着在SmartSnippets工作室里工作相同的项目。除了这一部分,一切都很好。
因此,SmartSnippets Studio项目设置中可能存在问题。

如果我这样做(在my_platform_devices.h):

spi_bus(spi1)spi_slave_device(spi1,myothername,hw_gpio_port_3,......

在编译文件(my_spi_file.c中)使用spi_device dev = ad_spi_open(myname)期间收到错误;
错误:'myname'未删除(在此函数中首次使用)

如果我将其更改为:

spi_bus(spi1)spi_slave_device(spi1,myname,hw_gpio_port_3,......

我没有收到编译器错误,但链接错误
my_spi_file.o:函数'my_function':
my_spi_file.c:xxx:未定义引用“myname”

我可以看到文件SDK / Adapters / SCR / ad_spi.c被编译(具有.o和.d文件)
我包括ad_spi.h文件。

如果我打开my_platform_devices.h文件我在“大纲”选项卡myname:const void * const中,不知道这是否意味着什么。

我的代码看起来与“代码”相同“5.代码概述“从您参考的教程(MyName ISO Echo_Loop)。

编译/链接订单有问题?忘了勾选一个盒子?

谢谢。

PM_DIALOG.
离线
最后一次露面:37分钟3秒前
职员
加入:2018-02-08 11:03
嗨myken,

嗨myken,

谢谢你的意见。让我检查并尝试复制您的问题,我会尽快回复您。

谢谢,PM_DIALOG.

米肯
离线
最后一次露面:6个月前1年
加入:2016-07-13 20:06
没关系,只是(3分钟

没关系,只是(3分钟前)找到了解决方案。
结果,我的platform_devices.h文件不在我(克隆)项目的Config子目录中。与makefiles并不重要,显然在smartsnpets中是。

PM_DIALOG.
离线
最后一次露面:37分钟3秒前
职员
加入:2018-02-08 11:03
嗨myken,

嗨myken,

很高兴你识上你的问题,谢谢你的迹象。

问候,pm_dialog