初级会员

- 积分
- 92
- 金钱
- 92
- 注册时间
- 2019-9-25
- 在线时间
- 20 小时
|
1金钱
原版本程序:
//-----------------LCD端口定义----------------
#define LCD_LED PBout(0) //LCD背光 PB0
LCD地址结构体
typedef struct
{
u16 LCD_REG;
u16 LCD_RAM;
} LCD_TypeDef;
//使用NOR/SRAM的 Bank1.sector4,地址位HADDR[27,26]=11 A10作为数据命令区分线
//注意设置时STM32内部会右移一位对其! 111110=0X3E
#define LCD_BASE ((u32)(0x6C000000 | 0x6C0007FE))
#define LCD ((struct LCD_TypeDef *) LCD_BASE)
我修改后的程序:
//////////////////////////////////////////////////////////////////////////////////
//-----------------LCD端口定义----------------
#define LCD_LED PBout(0) //LCD背光 PB0
struct LCD_TypeDef
{
u16 LCD_REG;
u16 LCD_RAM;
} ;
//使用NOR/SRAM的 Bank1.sector4,地址位HADDR[27,26]=11 A10作为数据命令区分线
//注意设置时STM32内部会右移一位对其! 111110=0X3E
#define LCD_BASE ((u32)(0x6C000000 | 0x6C0007FE))
struct LCD_TypeDef *LCD;
编译后产生错误
linking...
..\OBJ\MALLOC.axf: Error: L6200E: Symbol LCD multiply defined (by lcd.o and main.o).
..\OBJ\MALLOC.axf: Error: L6200E: Symbol LCD multiply defined (by usmart_config.o and main.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 2 error messages.
"..\OBJ\MALLOC.axf" - 2 Error(s), 0 Warning(s).
不知道这是为什么,求大神指点迷津,万分感谢!
我将define定义的LCD理解成了一个结构体指针,我又定义了一个打算替换掉原来的,结果未能实现,小生才疏学浅,求高手帮忙。
|
|