硬汉嵌入式论坛

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

[有问必答] emwin 裸机+窗口+画图

[复制链接]

1

主题

0

回帖

5

积分

新手上路

积分
5
发表于 2018-6-4 21:43:05 | 显示全部楼层 |阅读模式
我用串口收到像素信息,然后想用一个界面把图片显示出来,我用的是emwin写像素点的函数和改像素点颜色的函数组合使用,但在串口中断函数哪里就卡主了,不知该怎么把窗口调出来然后在窗口上画图,,,,裸机,,,,,现在表示很痛苦,,,大家有没有什么建议    多谢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2018-6-5 01:34:54 | 显示全部楼层
移植下我们的串口FIFO功能就好了,简单省事。

如果是F407,可以移植这个:
https://forum.anfulai.cn/forum.p ... highlight=1%2C2%2C3
回复

使用道具 举报

4

主题

8

回帖

50

积分

初级会员

积分
50
发表于 2018-6-5 10:16:52 | 显示全部楼层
eric2013 发表于 2018-6-5 01:34
移植下我们的串口FIFO功能就好了,简单省事。

如果是F407,可以移植这个:

我已经能准确的用串口接收数据了,但在串口 中断函数里应该怎么调用窗口绘制图像??,,请指教
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2018-6-5 10:30:25 | 显示全部楼层
wx_EyVVY6tb 发表于 2018-6-5 10:16
我已经能准确的用串口接收数据了,但在串口 中断函数里应该怎么调用窗口绘制图像??,,请指教

所以我提议你用串口FIFO。

中断里面不能刷新,你要在中断外面刷新。
回复

使用道具 举报

4

主题

8

回帖

50

积分

初级会员

积分
50
发表于 2018-6-5 11:11:10 | 显示全部楼层
eric2013 发表于 2018-6-5 10:30
所以我提议你用串口FIFO。

中断里面不能刷新,你要在中断外面刷新。

我是将收到的数据保存在数组里,然后调用这个数组,但我有几个疑问:(1)emwin的延时函数作用是什么,是到了时间刷屏一次吗?(2)emwin运行时 他会刷新液晶显示内容,那时候他会不会从接受中断里跳出来后,去执行显示,使得中断接受数据丢失?串口一直在接受数据的,,,,多写指点
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2018-6-5 12:39:10 | 显示全部楼层
wx_EyVVY6tb 发表于 2018-6-5 11:11
我是将收到的数据保存在数组里,然后调用这个数组,但我有几个疑问:(1)emwin的延时函数作用是什么,是 ...

简单点,你接收到数组后弄个全局变量,主程序检测到后更新窗口就行。这样就跟你不使用emWin,裸机实现没区别了。

你的问题1,可以这么理解。那个GUI_Delay不仅仅是个延迟函数,窗口更新等也全靠它。
你的问题2:简单弄个双缓冲就好了,也就是弄两个数组,一个接收的时候,另一个去刷新。
回复

使用道具 举报

4

主题

8

回帖

50

积分

初级会员

积分
50
发表于 2018-6-5 17:47:14 | 显示全部楼层
eric2013 发表于 2018-6-5 12:39
简单点,你接收到数组后弄个全局变量,主程序检测到后更新窗口就行。这样就跟你不使用emWin,裸机实现没 ...

哥 ,再问一个问题  在窗口下画图,这个图还要不停的刷新,那应该把画图程序写在窗口下的哪个case下?我是写在WM_PAINT下的,但他怎么刷新呀,他刷新的时候会不会把以前画的图给擦除掉呀?谢谢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2018-6-6 00:41:47 | 显示全部楼层
wx_EyVVY6tb 发表于 2018-6-5 17:47
哥 ,再问一个问题  在窗口下画图,这个图还要不停的刷新,那应该把画图程序写在窗口下的哪个case下?我 ...

方法1、可以使用函数WM_InvalidateRect做局部无效化,这样就会通过WM_PAINT消息更新指定的区域。
方法2、可以使用我们新版emWin教程的第65章。

https://forum.anfulai.cn/forum.p ... &extra=page%3D1
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-17 12:57 , Processed in 0.047005 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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