初级会员

- 积分
- 179
- 金钱
- 179
- 注册时间
- 2015-5-3
- 在线时间
- 29 小时
|
1金钱
最近,在使用TFTLCD中 LCD.C和GUI.C部分分别在两个C文件,我想把两个文件使用结构体关联起来,方便编程使用,就类似于HAL库的USART初始化
typedef struct __UART_HandleTypeDef
{
USART_TypeDef *Instance; /*!< UART registers base address */
UART_InitTypeDef Init; /*!< UART communication parameters */
uint8_t *pTxBuffPtr; /*!< Pointer to UART Tx transfer Buffer */
(HAL库部分节选)
void MX_USART1_UART_Init(void)
{
huart1.Instance = USART1;
huart1.Init.BaudRate = 115200;
huart1.Init.WordLength = UART_WORDLENGTH_8B;
huart1.Init.StopBits = UART_STOPBITS_1;
(C文件部分引用)
我编写的结构体(基本的结构体定义会使用)
GUI.H
typedef struct {
void (*LCD_DrawLine)(u16 x1, u16 y1, u16 x2, u16 y2);
}TFTLCD_GUI_Typedef_t;
extern TFTLCD_GUI_Typedef_t TFTLCD_GUI_Typedef;
LCD.H
typedef struct {
void (*LCD_Init)(void);
void (*LCD_Clear)(u16 Color);
void (*LCD_direction)(u8 direction);
TFTLCD_GUI_Typedef GUIx; //此处调用GUI结构体,方便编程
}TFTLCD_Typedef_t ;
extern TFTLCD_Typedef_t TFTLCD_Typedef;
但是报错:
HARDWARE\TFTLCD\TFTLCD.h(148): error: #757: variable "TFTLCD_GUI_Typedef" is not a type name
HARDWARE\TFTLCD\TFTLCD.C(384): error: #20: identifier "GUIx" is undefined
HARDWARE\TFTLCD\tftlcd.h(148): error: #757: variable "TFTLCD_GUI_Typedef" is not a type name
请各位高手不吝赐教,非常感谢!!
|
最佳答案
查看完整内容[请看2#楼]
GUIx的前面要改成 TFTLCD_GUI_Typedef_t
TFTLCD_GUI_Typedef_t 是类型
TFTLCD_GUI_Typedef 是变量
提示很清楚了, [/backcolor]"TFTLCD_GUI_Typedef" is not a type name,就是说它不是类型,要看它啊.[/backcolor]
|