Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 标识符未定义_C_Compiler Errors_Code Composer - Fatal编程技术网

C 标识符未定义

C 标识符未定义,c,compiler-errors,code-composer,C,Compiler Errors,Code Composer,这已经发生在我身上好几次了,我正试图找出它的根本原因。简言之,我得到这些错误,说有些东西是未定义的,但尽我所能,它不应该是。如下图所示,我在第6580行包含了pin_map.h,它定义了我得到的所有三个错误(SSIclk、SS1RX和SS1TX未定义) 在我的项目属性中,我包含了C:\Stellarware,并使用了其他几个文件中的定义。这只会偶尔发生一次,就我的一生而言,我无法理解它。有人能告诉我我做错了什么吗 请注意,我使用的是TI的LM3S2965评估板和CodeComposer Stud

这已经发生在我身上好几次了,我正试图找出它的根本原因。简言之,我得到这些错误,说有些东西是未定义的,但尽我所能,它不应该是。如下图所示,我在第6580行包含了pin_map.h,它定义了我得到的所有三个错误(SSIclk、SS1RX和SS1TX未定义)

在我的项目属性中,我包含了C:\Stellarware,并使用了其他几个文件中的定义。这只会偶尔发生一次,就我的一生而言,我无法理解它。有人能告诉我我做错了什么吗

请注意,我使用的是TI的LM3S2965评估板和CodeComposer Studio

#include "inc/lm3s2965.h"
#include "inc/hw_ints.h"
#include "inc/hw_ssi.h"
#include "inc/hw_memmap.h"
#include "inc/hw_nvic.h"
#include "inc/hw_types.h"
#include "driverlib/gpio.h"
#include "driverlib/ssi.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"

void init_SPI(void){

    SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI1);
    GPIOPinConfigure(GPIO_PE0_SSI1CLK);
    GPIOPinTypeGPIOOutput(GPIO_PORTE_BASE,GPIO_PIN_1);
    GPIOPinConfigure(GPIO_PE2_SSI1RX);
    GPIOPinConfigure(GPIO_PE3_SSI1TX);

    GPIOPinWrite(GPIO_PORTE_BASE,GPIO_PIN_1,GPIO_PIN_1);

    SSIDisable(SSI1_BASE);
    GPIOPinTypeSSI(GPIO_PORTE_BASE, GPIO_PIN_3 | GPIO_PIN_2 |
                   GPIO_PIN_0);

    SSIConfigSetExpClk(SSI1_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0,
                       SSI_MODE_MASTER, 1000000, 8);
    SSIEnable(SSI1_BASE);

}
文件pin_map.h非常长,但有问题的定义是:

#define GPIO_PE0_SSI1CLK        0x00040002
#define GPIO_PE0_CCP3           0x00040003
#define GPIO_PE0_EPI0S8         0x00040008

#define GPIO_PE1_SSI1FSS        0x00040402
#define GPIO_PE1_CCP2           0x00040404
#define GPIO_PE1_CCP6           0x00040405
#define GPIO_PE1_EPI0S9         0x00040408

#define GPIO_PE2_CCP4           0x00040801
#define GPIO_PE2_SSI1RX         0x00040802
#define GPIO_PE2_CCP2           0x00040805
#define GPIO_PE2_EPI0S24        0x00040808

#define GPIO_PE3_CCP1           0x00040C01
#define GPIO_PE3_SSI1TX         0x00040C02
#define GPIO_PE3_CCP7           0x00040C05
#define GPIO_PE3_EPI0S25        0x00040C08
错误本身是:

Description Resource    Path    Location    Type
#20 identifier "GPIO_PE0_SSI1CLK" is undefined  SPI.c   /Sandbox 1v1v1/SPI  line 23 C/C++ Problem

确保pin_map.h实际上位于driverlib目录中。还有,这些定义周围有宏吗?例如:

#ifdef SOME_MACRO
    #define GPIO_PE0_SSI1CLK 0x00040002
#endif

您可能必须定义“某个宏”

它是宏。谢谢。你能发布所有相关信息吗(pin_map.h,第6580行,编译器错误等)?我把这些信息添加到了主要问题中。