硬汉嵌入式论坛

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

[emWin] STemwin 回调函数 进入硬件错误 问题

[复制链接]

3

主题

7

回帖

3

积分

新手上路

积分
3
发表于 2017-2-11 10:26:45 | 显示全部楼层 |阅读模式
求助。。
如下图在家,没有原图。图凑合看看吧
无标题.png
红色的是我要显示的背景图,写汉字数字的地方,是我需要写一些数字的地方,由于数字要实时更新,我又没有足够的内存做缓存,所以每次更新都需要重新刷新数字下方的图片。
我的想法是数字都使用TEXT小工具显示,为每个小工具设置回调,收到WM_PAINT的时候重绘下面的图。
我用的是对话框创建的方式创建的TEXT,默认没有回调函数,我在对话框的回调函数的WM_PAINT中又无法获取是哪个TEXT需要被重绘。
于是我想为每个TEXT都设置独立的回调,使用的是WM_Setcallback()函数,结果一旦使用这个函数,在进入一次回调之后程序就会进入硬件错误。


我使用的是STM32F103ZE,使用了FreeRTOS操作系统。有人能解答或者探讨下有没有更好的方法呢?目前希望的是 尽量使用STM32提供的64RAM来完成这个工作,切不造成闪烁的情况。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117617
QQ
发表于 2017-2-11 10:31:51 | 显示全部楼层
用按钮的自定义回调函数吧,简单省事,这个教程的第47章
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=19834
回复

使用道具 举报

3

主题

7

回帖

3

积分

新手上路

积分
3
 楼主| 发表于 2017-2-11 10:36:42 | 显示全部楼层

回 eric2013 的帖子


谢谢回复,我百思不得其解,为什么会进入硬件错误,不知道是不是和操作系统有关
回复

使用道具 举报

3

主题

7

回帖

3

积分

新手上路

积分
3
 楼主| 发表于 2017-2-11 10:43:12 | 显示全部楼层

回 eric2013 的帖子

eric2013:用按钮的自定义回调函数吧,简单省事,这个教程的第47章
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=19834
 (2017-02-11 10:31) 
hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1);
WM_SetHasTrans(hItem); //--------------( 4)
WM_SetCallback(hItem, _cbButton1); //--------------( 5)

我注意到  教程中也有这个函数,不知道是否也会进入硬件错误。。 我的天。。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117617
QQ
发表于 2017-2-11 10:44:18 | 显示全部楼层

回 yushigengyu 的帖子

yushigengyu:hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON_1);
WM_SetHasTrans(hItem); //--------------( 4)
WM_SetCallback(hItem, _cbButton1); //--------------( 5)

....... (2017-02-11 10:43) 
没问题,放心用
回复

使用道具 举报

3

主题

7

回帖

3

积分

新手上路

积分
3
 楼主| 发表于 2017-2-13 13:43:52 | 显示全部楼层

回 eric2013 的帖子

eric2013:没问题,放心用 (2017-02-11 10:44) 
问题解决了 很奇怪 我TEXT的回调函数必须要包含
    case WM_NOTIFY_PARENT:   
            break;
否则就会进入硬件错误. 不知道什么原因 即是这个case 是空的
回复

使用道具 举报

3

主题

7

回帖

3

积分

新手上路

积分
3
 楼主| 发表于 2017-2-13 13:44:34 | 显示全部楼层

回 eric2013 的帖子

eric2013:没问题,放心用 (2017-02-11 10:44) 
再请教一个问题,在小工具的回调中 能否绘制整个对话框的背景?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117617
QQ
发表于 2017-2-13 14:03:29 | 显示全部楼层

回 yushigengyu 的帖子

yushigengyu:再请教一个问题,在小工具的回调中 能否绘制整个对话框的背景? (2017-02-13 13:44) 
可以,在WM_PAINT消息里面重绘即可。
回复

使用道具 举报

3

主题

7

回帖

3

积分

新手上路

积分
3
 楼主| 发表于 2017-2-13 14:28:45 | 显示全部楼层

回 eric2013 的帖子

eric2013:可以,在WM_PAINT消息里面重绘即可。 (2017-02-13 14:03) 
重绘 我没法定位到背景  因为这个控件已经被选定了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117617
QQ
发表于 2017-2-14 00:41:14 | 显示全部楼层

回 yushigengyu 的帖子

yushigengyu:重绘 我没法定位到背景  因为这个控件已经被选定了 (2017-02-13 14:28) 
你现在要实现什么功能,点击这个控件后,更新对话框的背景,还是怎么个情况。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-18 14:20 , Processed in 0.045531 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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