今天在战舰上移植ucgui时,出现一个问题
..\ucGUI\LCDDriver\LCDDummy.c(443): error: #134: expected a field name
上网找了不少资料说什么域名冲突??(不懂)
后来又在本论坛看到一个网友发的能用的移植代码,比较后发现是显示屏的驱动程序那有问题。
最后就各种尝试,后来总算发现了一个地方在原子哥的显示驱动头文件里有这么一段宏定义
#define LCD_BASE ((u32)(0x6C000000 | 0x000007FE))
#define LCD ((LCD_TypeDef *) LCD_BASE)
//////////////////////////////////////////////////////////////////////////////////
关键就在这里,ucgui的移植代码里LCD也是其一部分,而这里宏定义了LCD就使得ucgui里的LCD失效了,致使找不到域名了
发现问题后解决方案很简单:只需将上面两句话改为
#define LCD_BASE ((u32)(0x6C000000 | 0x000007FE))
#define myLCD ((LCD_TypeDef *) LCD_BASE)
//////////////////////////////////////////////////////////////////////////////////
再在显示驱动的c文件里修改相应的项就好了;
最后将完美移植。
|