硬汉嵌入式论坛

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

[emWin] 请问emWin带WM的程序如何才能实现分段绘制

[复制链接]

3

主题

17

回帖

26

积分

新手上路

积分
26
发表于 2021-8-13 09:13:36 | 显示全部楼层 |阅读模式
硬汉哥,我想用STM32F103这种SRAM比较小的单片机驱动320*240TFT液晶屏,请问如何才能在使用了WM的emwin中实现分段绘制功能?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117568
QQ
发表于 2021-8-13 09:49:28 | 显示全部楼层
开启窗口使用存储设备即可。

单独玩的话,可以使用函数GUI_MEMDEV_Draw
回复

使用道具 举报

3

主题

17

回帖

26

积分

新手上路

积分
26
 楼主| 发表于 2021-8-13 10:17:49 | 显示全部楼层
eric2013 发表于 2021-8-13 09:49
开启窗口使用存储设备即可。

单独玩的话,可以使用函数GUI_MEMDEV_Draw

    我的想法是先绘制20行,然后把这20行通过DMA发送到LCD,DMA传输的同时,绘制下20行数据,这样就相当于绘制UI和数据传输同时进行;
    使用了WM的程序中,窗口初始化完成后就是GUI_Delay()循环了,窗口使用存储设备绘制完成后数据接口在哪里,怎么读到绘制完成的数据,以及怎样实现每次绘制指定行数。
回复

使用道具 举报

356

主题

2180

回帖

3253

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3253
发表于 2021-8-13 10:55:10 | 显示全部楼层
本帖最后由 caicaptain2 于 2021-8-13 10:56 编辑
zysxdg 发表于 2021-8-13 10:17
我的想法是先绘制20行,然后把这20行通过DMA发送到LCD,DMA传输的同时,绘制下20行数据,这样就相当 ...

你这个想的太多了。。。。没有那么复杂。

emwin直接设定缓存空间30KB就可以比较流畅了。你不用管理窗口的刷新过程,它会自动根据情况刷局部或者全屏。
我用F103刷的800*480的屏幕,缓存45KB,大概0.3秒刷一整屏。可以接受。
回复

使用道具 举报

3

主题

17

回帖

26

积分

新手上路

积分
26
 楼主| 发表于 2021-8-13 11:03:17 | 显示全部楼层
caicaptain2 发表于 2021-8-13 10:55
你这个想的太多了。。。。没有那么复杂。

emwin直接设定缓存空间30KB就可以比较流畅了。你不用管理窗 ...

你好,你用的屏是什么接口,我这个是SPI的,速度比较慢,要求刷屏要10帧以上
回复

使用道具 举报

356

主题

2180

回帖

3253

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3253
发表于 2021-8-13 16:01:44 | 显示全部楼层
zysxdg 发表于 2021-8-13 11:03
你好,你用的屏是什么接口,我这个是SPI的,速度比较慢,要求刷屏要10帧以上

我那个是并口。 SPI口的话,这个传输速度限制住了,那就没办法了。。。。和emwin没有关系。

你这种,就选个别人做好的串口屏吧。只用发数据和指令,不用管绘图。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-15 19:39 , Processed in 0.039853 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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