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

怎么定义一个源文件的头文件

#ifndef TFT_H_ #define TFT_H_

#define  Set_RST    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0, GPIO_PIN_0); #define  Clr_RST    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2, 0);

#define SPI_CS(a)  #if (a)    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_4, GPIO_PIN_4)  #elif    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_4, 0) #define SPI_DCLK(a)   if (a)    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3, GPIO_PIN_3)   else    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3, 0) #define SPI_SDA(a)   if (a)    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2, GPIO_PIN_2)   else    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2, 0) #define lcd_RS(a)   if (a)    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1, GPIO_PIN_1)   else    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1, 0)

#define WHITE      0xFFFF #define BLACK      0x0000 #define BLUE      0x001F #define BRED      0XF81F #define GRED      0XFFE0 #define GBLUE      0X07FF #define RED       0xF800 #define MAGENTA      0xF81F #define GREEN      0x07E0 #define CYAN      0x7FFF #define YELLOW      0xFFE0 #define BROWN      0XBC40 // #define BRRED      0XFC07 // #define GRAY      0X8430 //

void ILI9325_CMO24_Initial(void); void Delayms(unsigned short time); void LCD_WriteRegIndex(unsigned char Index); void LCD_WriteData(unsigned short dat); void Lcd_SetCursor(u16 x,u16 y); void SPILCD_SetWindow(unsigned short xstat,unsigned short xend,unsigned short ystat,unsigned short yend); void SPILCD_DrawPoint(unsigned short x,unsigned short y,unsigned short color); void SPILCD_Clear(unsigned short Color); void SPILCD_Clear_Fast(unsigned char single_Color); void SPILCD_Fill(unsigned short xsta,unsigned short ysta,unsigned short xend,unsigned short yend,unsigned short color); void SPILCD_DrawLine(unsigned short x1,unsigned short y1,unsigned short x2,unsigned short y2,unsigned short color); void SPILCD_ShowChar(unsigned short x,unsigned short y,unsigned char num); void LCD_Fill_Pic(u16 x, u16 y,u16 pic_H, u16 pic_V, const unsigned char* pic);

 

#endif /* TFT_H_ */

这是我写的头文件,

#define SPI_CS(a)  #if (a)    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_4, GPIO_PIN_4)  #elif    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_4, 0) #define SPI_DCLK(a)   if (a)    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3, GPIO_PIN_3)   else    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3, 0) #define SPI_SDA(a)   if (a)    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2, GPIO_PIN_2)   else    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2, 0) #define lcd_RS(a)   if (a)    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1, GPIO_PIN_1)   else    GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1, 0)

显示有错,宏定义不可以这样吗?还有就是怎么指定这个头文件是对应哪个源文件?我在其他源文件里包含了这个头文件,不能调用它的函数?

我是初学者,不太明白,谢谢

Maka Luo:

因为你调用库函数GPIOPinWrite 以及GPIO定义,编译肯定会导致报错,系统会告诉你没有定义。

这个需要宏定义需要放到C文件中,不要放在H文件。

xyz549040622:

把你的这个SPI_CS(a)的宏定义放在自己新建立的.h文件中,然后这个.h文件包含TM4C的gpio.c的文件。当然,前提是你这个SPI_CS(a)的定义是OK的。其他源文件里包含了这个头文件,就可以使用的。

另外,你贴出的错误部分,没有说明是什么错误。不好判断

赞(0)
未经允许不得转载:TI中文支持网 » 怎么定义一个源文件的头文件
分享到: 更多 (0)