TI中文支持网
TI专业的中文技术问题搜集分享网站

函数写在别的文件,无法调用

技术你好,还是昨天的问题,发现一个问题。以下是两组图片,使用CC2640F128,协议栈ble_cc26xx_2_01_00_44423,软件IAR830

第一组是编译正常的通过,无错误,和调用在同一个.c文件里面。

第二组,是编译不通过,是将被调函数卸载和调用者不同文件下,但是extern了。这样就会报错。请问什么原因?

Viki Shi:

昨天那个问题,你是指堆栈溢出吗?当时的建议是升级到最近版SDK再进行测试,因为之前版本存在bug,你没有升级啊

user4861312:

回复 Viki Shi:

目前看,不是堆栈溢出问题这个报错

user4861312:

回复 Viki Shi:

这个现象应该不是堆栈吧,那还是建议更新协议栈?。那么我现在这个协议栈要是更新的话,更新协议栈应用层代码是不是得重新写。不能和之前的协议栈兼容啊

Viki Shi:

回复 user4861312:

看描述怀疑是头文件没有包含,看一下这边的配置:blog.csdn.net/…/53940807

user4861312:

回复 Viki Shi:

???这个问题应该不是,文件路径我已全部包含。这个错误写的是超出什么范围。只要是函数写在应用层文件.c就不会报这个错误。
现在如果没办法的话,我就打算更新协议栈试试。有没有什么帖子关于当前协议栈更新到最新版本的步骤呢?应用代码有点多。不想重新在在移植。能实现吗?

Viki Shi:

回复 user4861312:

有移植文档:dev.ti.com/…/migration.html

user4861312:

回复 Viki Shi:

ble_cc26xx_2_01_00_44423技术我这个是这个版本,我看你发的是3开始的啊?

user4861312:

回复 Viki Shi:

我看置顶的帖子指定2.2.2版本的下载。CC2640非R2的。是不是只要是在2.2.1以上就行,我看最新的2.2.3支持蓝牙5.1了,这个使用也可以是吧?关于这个版本的OAD片外移植也是和之前那教程一样?链接有吗?CC2640F128

YiKai Chen:

回复 user4861312:

直接把extern fun(…) 寫在你要用fun的C檔案前面試試

赞(0)
未经允许不得转载:TI中文支持网 » 函数写在别的文件,无法调用
分享到: 更多 (0)