硬汉嵌入式论坛

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

[emWin] STM32F103-ILI9341移植不成功

[复制链接]

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
发表于 2020-12-5 12:19:12 | 显示全部楼层 |阅读模式
使用STM32F103VE外挂ILI9341的SPI屏想移植EMWIN5.44,但是一直不成功。
使用裸驱显示的方式能进行RGB的刷屏,但用GUI_SetColor() GUI_Clear()的方式,则屏都没有显示了。
大神帮忙看看,是不是哪里移植的不对啊
上传两个.c文件帮忙看看。
lcd_ili9341.c文件中 lcd_show_test() 这个函数,能实现RGB三色刷屏
LCDConf.c是emwin544自带的移植文件。不知道是不是哪里没写对



LCDConf.c

6.63 KB, 下载次数: 9

lcd_ili9341.c

695 Bytes, 下载次数: 12

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115804
QQ
发表于 2020-12-5 18:26:51 | 显示全部楼层
使用我这种通用移植方法比较简单

第一期:在OLED上面移植STemWin5.20
http://www.armbbs.cn/forum.php?m ... 1678&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2020-12-6 10:17:37 | 显示全部楼层
eric2013 发表于 2020-12-5 18:26
使用我这种通用移植方法比较简单

第一期:在OLED上面移植STemWin5.20

这是OLED的哇,我现在用的是TFT的啊,这差别也太大了吧
GUI的配置中
void GUI_X_Config(void)
{
  GUI_ALLOC_AssignMemory(extMem, GUI_NUMBYTES);
}

GUI_NUMBYTES  这个我定义的是 5K,会不会有问题呀
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2020-12-6 10:43:55 | 显示全部楼层
eric2013 发表于 2020-12-5 18:26
使用我这种通用移植方法比较简单

第一期:在OLED上面移植STemWin5.20

调试发现:
PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple;
  PortAPI.pfReadM16_A1  = LcdReadDataMultiple;
调用 LcdWriteDataMultiple()这个函数时,void LcdWriteDataMultiple(U16 *pData, int NumItems)
*pData中一直是全0,没有数据,怎么回事呢
会是哪里出问题呢?
如果手动在 LcdWriteDataMultiple()内设置数据,如*(u16 *)0x60020000 = 0xFF
这时就能全屏显示为蓝色了
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2020-12-6 10:53:24 | 显示全部楼层
eric2013 发表于 2020-12-5 18:26
使用我这种通用移植方法比较简单

第一期:在OLED上面移植STemWin5.20

靠了。。。 原来调用GUI_Clear()时,应该用 GUI_SetBkColor() 设置颜色数据。
我调用的是 GUI_SetColor()
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115804
QQ
发表于 2020-12-6 12:18:50 | 显示全部楼层
jplzl10000 发表于 2020-12-6 10:53
靠了。。。 原来调用GUI_Clear()时,应该用 GUI_SetBkColor() 设置颜色数据。
我调用的是 GUI_Set ...

经常不搞生疏了。
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2020-12-14 08:52:47 | 显示全部楼层
eric2013 发表于 2020-12-6 12:18
经常不搞生疏了。

ucgui3.98或是emwin这各,有没有什么方法显示wchar_t型的宽字符呀
ucgui3.98这种是有源码的,是不是只能改底层的源码了?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115804
QQ
发表于 2020-12-14 13:04:18 | 显示全部楼层
jplzl10000 发表于 2020-12-14 08:52
ucgui3.98或是emwin这各,有没有什么方法显示wchar_t型的宽字符呀
ucgui3.98这种是有源码的,是不是只能 ...

关于这个wchar_t,STemWin5.44版本对IAR版做了16bit和32bit两种
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2020-12-15 19:04:09 | 显示全部楼层
eric2013 发表于 2020-12-14 13:04
关于这个wchar_t,STemWin5.44版本对IAR版做了16bit和32bit两种

通过字体的定义数据,能反推出字体的相关设置么?
比如,GUI_FONT结构中,
,16 /* height of font  */
  ,16 /* space of font y */
  ,1 /* magnification x */
  ,1 /* magnification y */
像这种,在用工具生成字体时,字体大小就是16了?
像这种:
,13 /* Baseline */
  ,8 /* LHeight */
  ,11 /* CHeight */
这几个数有点不知道所解啊,我看有的字体,还有
,16 /* Baseline */
,0 /* LHeight */
,16 /* CHeight */
这是怎么生成的?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115804
QQ
发表于 2020-12-16 09:19:54 | 显示全部楼层
jplzl10000 发表于 2020-12-15 19:04
通过字体的定义数据,能反推出字体的相关设置么?
比如,GUI_FONT结构中,
,16 /* height of font  */
...

你发的是这个?
QQ截图20201216091934.png
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2020-12-16 10:05:11 | 显示全部楼层

不是这个吧
我是看到一个GUI_FONT的定义,字体的.c文件中的定义,如下面的代码。但是后面的数据是
  ,16 /* Baseline */
  ,0 /* LHeight */
  ,16 /* CHeight */
这种的,我是想知道,我要在字体工具上怎么设置,能得到这种定义的字体

GUI_CONST_STORAGE GUI_FONT GUI_Fontst16 = {
   GUI_FONTTYPE_PROP /* type of font    */
  ,16 /* height of font  */
  ,16 /* space of font y */
  ,1 /* magnification x */
  ,1 /* magnification y */
  ,{&GUI_Fontst16_Prop1}
  ,14 /* Baseline */
  ,7 /* LHeight */
  ,11 /* CHeight */
};
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115804
QQ
发表于 2020-12-16 10:10:56 | 显示全部楼层
jplzl10000 发表于 2020-12-16 10:05
不是这个吧
我是看到一个GUI_FONT的定义,字体的.c文件中的定义,如下面的代码。但是后面的数据是
  ,1 ...

这就是emWin的小软件FontCvt生成的啊。。
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2020-12-16 17:36:40 | 显示全部楼层
eric2013 发表于 2020-12-16 10:10
这就是emWin的小软件FontCvt生成的啊。。

我知道是软件生成的。
我的意思是,我现在看到一个已经生成的字体,就是上面说的那种描述的。
但是没有字体名称,不知道是什么样式的,比如ASCII16,20之类的,或是别的宋体,黑体之类。
换句话说,就是看到别人的字体定义,觉的挺好看,但不知道怎么在字体软件中设置
就是想通过这个字体的定义,来倒推字体软件中的设置,然后自己来生成
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115804
QQ
发表于 2020-12-17 08:51:03 | 显示全部楼层
jplzl10000 发表于 2020-12-16 17:36
我知道是软件生成的。
我的意思是,我现在看到一个已经生成的字体,就是上面说的那种描述的。
但是没有 ...

推荐看这个即可,现在有1000种了,总有一款是你想要的,而且大部分无版权问题

关于字体的版权问题,推荐大家看google font,现在集合了992种字体
http://www.armbbs.cn/forum.php?m ... 8551&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2020-12-17 18:22:39 | 显示全部楼层
eric2013 发表于 2020-12-17 08:51
推荐看这个即可,现在有1000种了,总有一款是你想要的,而且大部分无版权问题

关于字体的版权问题,推 ...

大佬,有没有Ili9341驱动的320*240-16bit的配置初始化代码啊。
我这自己网上找的一个,一写入0x29打开显示命令后,发现屏上少显示了大概一行半。
最下面的一行半没有显示
会是怎么回事呢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115804
QQ
发表于 2020-12-18 09:44:41 | 显示全部楼层
jplzl10000 发表于 2020-12-17 18:22
大佬,有没有Ili9341驱动的320*240-16bit的配置初始化代码啊。
我这自己网上找的一个,一写入0x29打开显 ...

9488的有,任意下载论坛置顶帖V5标准库网盘的emWin例子,跟9341是差不多的。
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2020-12-30 14:58:42 | 显示全部楼层
eric2013 发表于 2020-12-18 09:44
9488的有,任意下载论坛置顶帖V5标准库网盘的emWin例子,跟9341是差不多的。

大佬,用103VE带ili9431显示屏,320*240像素,565的RGB显示一个bmp图,要用240ms+,这速度正常么?感觉像是很慢啊
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115804
QQ
发表于 2020-12-31 10:19:47 | 显示全部楼层
jplzl10000 发表于 2020-12-30 14:58
大佬,用103VE带ili9431显示屏,320*240像素,565的RGB显示一个bmp图,要用240ms+,这速度正常么?感觉像 ...

差不多还行,因为bmp也是需要简单解码的,改成绘制位图就快很多了。
回复

使用道具 举报

268

主题

597

回帖

1401

积分

至尊会员

积分
1401
 楼主| 发表于 2020-12-31 11:41:11 | 显示全部楼层
eric2013 发表于 2020-12-31 10:19
差不多还行,因为bmp也是需要简单解码的,改成绘制位图就快很多了。

使用的是 LCD_DrawBitmap() 这个函数,好像就是立即绘制吧,数据也是直接从文件中读出来的颜色数据
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115804
QQ
发表于 2021-1-1 10:50:03 | 显示全部楼层
jplzl10000 发表于 2020-12-31 11:41
使用的是 LCD_DrawBitmap() 这个函数,好像就是立即绘制吧,数据也是直接从文件中读出来的颜色数据

对,这个函数速度还行。最快的是存储设备,只是你的F1内存不够,就用这个就行。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-19 23:37 , Processed in 0.536248 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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