TI论坛
直播中

万菲

7年用户 234经验值
私信 关注
[问答]

很多例程里主函数文件没有声明外部函数就可以直接调用其他文件的函数,我这么做rebuild all时就报错,这个是怎么设置的?

例程里就顺利通过了.

回帖(5)

沈铿僖

2020-7-16 16:21:35
通过主程序include进来的头文件就可以找到相应外设的头文件,就可以找到申明代码了。
注意头文件的搜索路径。
举报

万菲

2020-7-16 16:37:38
引用: 陈涛少01 发表于 2020-7-16 19:03
通过主程序include进来的头文件就可以找到相应外设的头文件,就可以找到申明代码了。
注意头文件的搜索路径。

我和他的include都是一样的
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File
我还专门看了他的头文件 里面并没有函数声明.
举报

万菲

2020-7-16 16:49:56
引用: 陈涛少01 发表于 2020-7-16 19:03
通过主程序include进来的头文件就可以找到相应外设的头文件,就可以找到申明代码了。
注意头文件的搜索路径。

举个例子:
DSP2833x_examplesadc_dmaExample_2833xAdcToDMA.pjt
打开这个project后,他的主程序文件Example_2833xAdcToDMA.c里面的include
#include "DSP2833x_Device.h" // Headerfile Include File
#include "DSP2833x_Examples.h" // Examples Include File
查看build otpiong -> compiler -> Preprocessor -> Include search path 
....DSP2833x_headersinclude;....DSP2833x_commoninclude
我找到这两个目录下的
C:CCStudio_v3.3MyProjectsv101DSP2833x_commonincludeDSP2833x_Examples.h
C:CCStudio_v3.3MyProjectsv101DSP2833x_headersincludeDSP2833x_Device.h
还看了头文件
C:CCStudio_v3.3MyProjectsv101DSP2833x_headersincludeDSP2833x_DMA.h
在这里面都没找到有函数声明的语句.
但是这个主程序在没有外部声明的前提下有如下语句
DMACH1AddrConfig(DMADest,DMASource);
DMACH1BurstConfig(15,1,10);
DMACH1TransferConfig(9,0,1);
DMACH1WrapConfig(1,0,0,1);
DMACH1ModeConfig(DMA_SEQ1INT,PERINT_ENABLE,ONESHOT_DISABLE,CONT_DISABLE,SYNC_DISABLE,SYNC_SRC,
OVRFLOW_DISABLE,SIXTEEN_BIT,CHINT_END,CHINT_ENABLE);
而且能通过编译,所以我才觉得奇怪
举报

张琛根

2020-7-16 17:02:03
引用: Jerry_weng 发表于 2020-7-16 19:31
举个例子:
DSP2833x_examplesadc_dmaExample_2833xAdcToDMA.pjt
打开这个project后,他的主程序文件Example_2833xAdcToDMA.c里面的include

不会的,凡使用定要声明的,你说的这个声明在DSP2833x_GlobalPrototypes中,而DSP2833x_GlobalPrototypes又在DSP2833x_Examples中包含
举报

更多回帖

发帖
×
20
完善资料,
赚取积分