硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2167|回复: 6
收起左侧

[emWin] 图片显示问题?

[复制链接]

13

主题

37

回帖

76

积分

初级会员

积分
76
发表于 2017-9-21 22:23:09 | 显示全部楼层 |阅读模式
硬件:STM32F103VCt6
图片是用BMPCVTST导的,存在内部FLASH里,工程包含了这个文件。现在执行到GUI_DrawBitmap(&bmxinlinglogo,295,194); 时,进入HARDFAULT了。
图片大小

GUI_CONST_STORAGE GUI_BITMAP bmxinlinglogo = {
  95, // xSize
  33, // ySize
  190, // BytesPerLine
  16, // BitsPerPixel
  (unsigned char *)_acxinlinglogo,  // Pointer to picture data
  NULL,  // Pointer to palette
  GUI_DRAW_BMP565
};试了很多,总是不行,不知道哪里卡住了,总是进入HARDFAULT。

各位大神麻烦指教一下。谢谢
回复

使用道具 举报

17

主题

121

回帖

172

积分

初级会员

积分
172
发表于 2017-9-21 23:00:24 | 显示全部楼层
是不是你的堆栈设置的太小了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117649
QQ
发表于 2017-9-22 01:54:00 | 显示全部楼层
单看你提供的信息,没有问题。
回复

使用道具 举报

13

主题

37

回帖

76

积分

初级会员

积分
76
 楼主| 发表于 2017-9-22 08:07:37 | 显示全部楼层

回 王小波 的帖子

王小波:是不是你的堆栈设置的太小了
 (2017-09-21 23:00) 
堆栈设置为0X0000 0E00。
回复

使用道具 举报

13

主题

37

回帖

76

积分

初级会员

积分
76
 楼主| 发表于 2017-9-22 08:10:14 | 显示全部楼层

回 eric2013 的帖子

eric2013:单看你提供的信息,没有问题。
 (2017-09-22 01:54) 
程序是前面就一个GUI_INIT,GUI_CLEAR,一些初始化用到的东西。我觉得应该也没有问题的。
硬汉,我应该怎么查找呢?
回复

使用道具 举报

13

主题

37

回帖

76

积分

初级会员

积分
76
 楼主| 发表于 2017-9-22 19:22:03 | 显示全部楼层
结贴,问题是这样的。主要DrawBitLine16BPP函数里 用了以下代码
        LCD_SetCursor(x,y);
        *(__IO uint16_t *)(UCGUI_LCD_CMD)  = lcddev.wramcmd;  //写入颜色值
        for (;xsize > 0; xsize--, x++, p++)
        {
            pixel = *p;
            *(__IO uint16_t *)(UCGUI_LCD_DATA) =pixel;
        }
但是上面这代码是MCU屏的,不适合。应该在DrawBitLine16BPP函数是以下代码。
for (;xsize > 0; xsize--, x++, p++)
        {
            _SetPixelIndex(pDevice, x, y, *p);
        }
感谢硬汉,把你的代码对过来,发现是用这代码。
回复

使用道具 举报

13

主题

37

回帖

76

积分

初级会员

积分
76
 楼主| 发表于 2017-9-22 19:22:37 | 显示全部楼层
继续下面的工作
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-20 12:39 , Processed in 0.041919 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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