OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5282|回复: 1

求助:ucGUI3.90A 移植问题

[复制链接]

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2013-3-17
在线时间
3 小时
发表于 2013-3-18 09:06:30 | 显示全部楼层 |阅读模式
最近在做一个ucGUI的移植,系统移植后,可编译通过。一旦调用了GUI的函数,在执行函数时程序(如:GUI_SetBkColor(Red))就运行至HardFault_Handler中,调试发现程序未进入  LCD_L0_SetPixelIndex(int x, int y, int PixelIndex) 画点函数,请各位大神指点。

以下是更改的步骤及修改的代码:

LCDConf.h定义内容:
#define LCD_XSIZE          (800)
#define LCD_YSIZE          (480)
#define LCD_CONTROLLER       (-1)
#define LCD_BITSPERPIXEL   (16)
#define LCD_FIXEDPALETTE   (565)
#define LCD_SWAP_RB        (1)
extern void Lcd_Init(void); 
#define LCD_INIT_CONTROLLER() Lcd_Init();   //

GUIConf.h定义内容

#define GUI_OS                    (0)  /* Compile with multitasking support */
#define GUI_SUPPORT_TOUCH         (1)  /* Support a touch screen (req. win-manager) */
#define GUI_SUPPORT_UNICODE       (1)  /* Support mixed ASCII/UNICODE strings */

#define GUI_DEFAULT_FONT          &GUI_Font6x8
#define GUI_ALLOC_SIZE          5000  /* Size of dynamic memory ... For WM and memory devices*/

#define GUI_WINSUPPORT            1  /* Window manager package available */
#define GUI_SUPPORT_MEMDEV        1  /* Memory devices available */
#define GUI_SUPPORT_AA            1  /* Anti aliasing available */

GUI_TouchConf.h定义内容

#define GUI_TOUCH_SWAP_XY       0
#define GUI_TOUCH_MIRROR_X      0
#define GUI_TOUCH_MIRROR_Y      0
#define GUI_TOUCH_AD_LEFT        1863
#define GUI_TOUCH_AD_RIGHT      97
#define GUI_TOUCH_AD_TOP          1864 
#define GUI_TOUCH_AD_BOTTOM       100  

LCDDummy.c更改内容
#include <stdint.h>    //兼容定义uint16_t格式
#include "LCD_Private.h"      
#include "GUI_Private.h"
#include "GUIDebug.h"
#include "lcd_function.h"    //调用LCD驱动函数

代码修改位置:
#if (LCD_CONTROLLER == -1) //
#ifndef LCD_INIT_CONTROLLER
  #define LCD_INIT_CONTROLLER()
#endif

void LCD_L0_SetPixelIndex(int x, int y, int PixelIndex) 
{
    LCD_SetPoint(x,y,PixelIndex);
}

unsigned int LCD_L0_GetPixelIndex(int x, int y)
{
  return (LCD_GetPoint(x,y));
}


int  LCD_L0_Init(void)
{
LCD_Initialize();
         return 0;
}











正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2013-3-17
在线时间
3 小时
 楼主| 发表于 2013-3-19 22:27:17 | 显示全部楼层
终于找到问题了,主函数中没调用GUI_Init(). 不论资料多少,都要认真看了..
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-22 19:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表