发 帖  
原厂入驻New
位图显示问题如何解决
34 STM32
分享
硬件: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。
各位大神麻烦指教一下。谢谢
0
2020-5-22 14:57:26   评论 分享淘帖 邀请回答
3个回答
结贴,问题是这样的。我移植是参照原子哥的移植程序,主要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);
        }
希望原子哥在前面讲移植的时候也把这程序说明一下。
2020-5-22 08:23:31 评论

举报

2020-5-22 08:50:30 评论

举报

只有小组成员才能发言,加入小组>>

246个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

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