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.

DY-Tiva-BP--------LCD官方代码有问题?



各位大牛好,在拿到DY-Tiva-BP的代码后,发现是基于kile开发的,我们进行了ccs环境下的移植,但是出现了一个无法解决的问题,在例程代码TIVA-demo\LCD下的文件,我们移植后在uc1701.h文件下的这串代码我们觉得宏定义应该不完整,在CCS下编译之后出现错误如下:

 

#20 identifier "LCD_GPIO_RESET" is undefined     uc1701.c    /lcd-demo/user      line 603      C/C++ Problem

#20 identifier "LCD_PERIPH_RESET" is undefined  uc1701.c    /lcd-demo/user      line 581      C/C++ Problem

#20 identifier "LCD_PIN_RESET" is undefined  uc1701.c    /lcd-demo/user      line 603      C/C++ Problem

宏定义代码如下(USE_DY_PB_3USE_DY_PB_2下宏定义差异较大,在使用USE_DY_PB_3选项下编译出错的问题提示未定义变量在USE_DY_PB_2下定义了,但是调用USE_DY_PB_2是,警告变量重复申明):

#if defined(USE_DY_PB_3)

// CS   : PA5   : CS0

// CD   : PE0   : CD=0, command; CD=1, data

// BKL  : PF3   : PWM

#define LCD_PERIPH_SPI_CS           SYSCTL_PERIPH_GPIOA

 

#ifdef USE_DY_PB_FINAL

#define LCD_PERIPH_CD               SYSCTL_PERIPH_GPIOB

#else // USE_DY_PB_FINAL

#define LCD_PERIPH_CD               SYSCTL_PERIPH_GPIOE

#endif // USE_DY_PB_FINAL

 

#define LCD_GPIO_SPI_CS             GPIO_PORTA_BASE

#ifdef USE_DY_PB_FINAL

#define LCD_GPIO_CD                 GPIO_PORTB_BASE

#else // USE_DY_PB_FINAL

#define LCD_GPIO_CD                 GPIO_PORTE_BASE

#endif // USE_DY_PB_FINAL

 

#define LCD_PIN_SPI_CS              GPIO_PIN_5

#ifdef USE_DY_PB_FINAL

#define LCD_PIN_CD                  GPIO_PIN_3

#else // USE_DY_PB_FINAL

#define LCD_PIN_CD                  GPIO_PIN_0

#endif // USE_DY_PB_FINAL

 

#define LCD_PIN_SPI_PORT            SSI2_BASE

#elif defined(USE_DY_PB_2)

// CS   : PF2   : CS0

// CD   : PF3   : CD=0, command; CD=1, data

// RESET:

 

#define LCD_PERIPH_SPI_CS           SYSCTL_PERIPH_GPIOF

#define LCD_PERIPH_CD               SYSCTL_PERIPH_GPIOF

//#define LCD_PERIPH_RESET            SYSCTL_PERIPH_GPIOE

 

#define LCD_GPIO_SPI_CS             GPIO_PORTF_BASE

#define LCD_GPIO_CD                 GPIO_PORTF_BASE

//#define LCD_GPIO_RESET              GPIO_PORTE_BASE

 

#define LCD_PIN_SPI_CS              GPIO_PIN_2

#define LCD_PIN_CD                  GPIO_PIN_3

//#define LCD_PIN_RESET               GPIO_PIN_0

 

#define LCD_PIN_SPI_PORT            SSI2_BASE

 

 

#define LCD_PERIPH_SPI_CS           SYSCTL_PERIPH_GPIOB

#define LCD_PERIPH_CD               SYSCTL_PERIPH_GPIOD

#define LCD_PERIPH_RESET            SYSCTL_PERIPH_GPIOE

 

#define LCD_GPIO_SPI_CS             GPIO_PORTB_BASE

   

#ifndef DY_PA5_FIX

#define LCD_GPIO_CD                 GPIO_PORTD_BASE

#else // DY_PA5_FIX

#define LCD_GPIO_CD                 GPIO_PORTA_BASE

#endif // DY_PA5_FIX

 

#define LCD_GPIO_RESET              GPIO_PORTE_BASE

 

 

#define LCD_PIN_BKL                 GPIO_PIN_5

#define LCD_PIN_SPI_CS              GPIO_PIN_2

 

#ifndef DY_PA5_FIX

#define LCD_PIN_CD                  GPIO_PIN_2

#else

#define LCD_PIN_CD                  GPIO_PIN_5

#endif

 

#define LCD_PIN_RESET               GPIO_PIN_0

 

#define LCD_PIN_SPI_PORT            SSI1_BASE

#endif // USE_DY_PB_2

  • 不知道具体代码,无法判断。你看看MDK中USE_DY_PB_x的宏定义是不是在c/c++中宏定义的呢,MDK移植到CCS中,应该包含的路径和宏定义设置做好了,其他应该没什么问题的。