#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的。其他源文件里包含了这个头文件,就可以使用的。
另外,你贴出的错误部分,没有说明是什么错误。不好判断
TI中文支持网
