硬汉嵌入式论坛

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

[emWin] 求助:裸机程序+STemWin怎么不能画竖线?中英文字符显示正常

[复制链接]

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2016-6-29 20:27:25 | 显示全部楼层 |阅读模式
STM32F103RCT6裸机程序+STemWin 5.28, 2.0寸 ILI9225G 176*220液晶屏,显示方向:横屏(220*176)。
用LCD驱动直接画线,画矩形,位图,都正常。
但是emwin不能画圆,不能画矩形,也不能画竖线,画出来只显示成水平线,显示BMP位图也是乱的,呈撕裂模样看不清。但是显示中英文字符是正常的,画水平线也是正常的。
请问这是怎么回事?
GUI驱动只添加了打点函数:
static void LcdWriteReg(U16 Data) {
  // ... TBD by user
  LCD_WR_REG(Data);
}

static void LcdWriteData(U16 Data) {
  // ... TBD by user
  LCD_WR_DATAX(Data);
}

static void LcdWriteDataMultiple(U16 * pData, int NumItems) {
  while (NumItems--) {
    // ... TBD by user
LCD_WR_DATAX(*pData++);
  }
}

static void LcdReadDataMultiple(U16 * pData, int NumItems) {
  while (NumItems--) {
    // ... TBD by user
*pData++ = LCD_RD_DATA();
  }
}
void LCD_X_Config(void) {
  GUI_DEVICE * pDevice;
  CONFIG_FLEXCOLOR Config = {0};
  GUI_PORT_API PortAPI = {0};
  //
  // Set display driver and color conversion
  //
  pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_565, 0, 0);
  //
  // Display driver configuration, required for Lin-driver
  //
  LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS);
  LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS);
  //
  // Orientation
  //
  Config.Orientation = GUI_SWAP_XY;// | GUI_MIRROR_Y;
  GUIDRV_FlexColor_Config(pDevice, &Config);
  //
  // Set controller and operation mode
  //
  PortAPI.pfWrite16_A0  = LcdWriteReg;
  PortAPI.pfWrite16_A1  = LcdWriteData;
  PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple;
  PortAPI.pfReadM16_A1  = LcdReadDataMultiple;
  GUIDRV_FlexColor_SetFunc(pDevice, &amportAPI, GUIDRV_FLEXCOLOR_F66708, GUIDRV_FLEXCOLOR_M16C0B16);
}

int LCD_X_DisplayDriver(unsigned LayerIndex, unsigned Cmd, void * pData) {
  int r;
  (void) LayerIndex;
  (void) pData;
  
  switch (Cmd) {
  case LCD_X_INITCONTROLLER: {
    //
    // Called during the initialization process in order to set up the
    // display controller and put it into operation. If the display
    // controller is not initialized by any external routine this needs
    // to be adapted by the customer...
    //
    // ...
   
LCD_Init();
    return 0;
  }
  default:
    r = -1;
  }
  return r;
}
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2016-7-1 07:26:08 | 显示全部楼层
emWin自带的驱动方式,我没有通过,你有时间可以使用我们emWin教程里面的通用移植方式。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-17 08:51 , Processed in 0.039510 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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