OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 18636|回复: 20

EMWIN 建立一个定时器 进步去case WM_TIMER:这个分支里面去 不知道为什么

[复制链接]

57

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
451
金钱
451
注册时间
2013-5-23
在线时间
46 小时
发表于 2015-2-5 22:27:38 | 显示全部楼层 |阅读模式
5金钱
EMWIN 建立一个定时器 进步去case WM_TIMER:这个分支里面去 不知道为什么

hWinMain=  = WM_CreateWindowAsChild(0, 0, 319, 239, WM_HBKWIN, WM_CF_SHOW, cb, 0);
WM_CreateTimer(hWinMain, /* 接受信息的窗口的句柄 */
   0,           /* 用户定义的Id。如果不对同一窗口使用多个定时器,此值可以设置为零。 */
   1000,                       /* 周期,此周期过后指定窗口应收到消息*/
   0);


在回调函数中 周期性显示电压值
case WM_TIMER:
     GUI_DispStringAt("电值值:", 20, 60);
    GUI_DispFloat(voltage,6);
WM_RestartTimer(pMsg->Data.v, 1000);
break;

但是电压值一直不变  也就是说定时器没启动??????

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-2-5 23:22:13 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2015-2-6
在线时间
0 小时
发表于 2015-2-6 15:43:59 | 显示全部楼层
请问有没效果图看一下,我也使用过EMWIN5.22,如果不关官方代码界面运行的话,我的界面可以动,但是一关就动不了,原因是用GUIBuilder做的界面只是覆盖在原界面上。不知道你是否是这个问题?如果不是也可不可以告诉我如何解决问题?
回复

使用道具 举报

57

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
451
金钱
451
注册时间
2013-5-23
在线时间
46 小时
 楼主| 发表于 2015-2-6 21:23:12 | 显示全部楼层
回复【3楼】坂田金时:
---------------------------------
死机一般都是内存分配不够 你扩了多少外部内存?
回复

使用道具 举报

8

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2011-4-3
在线时间
4 小时
发表于 2015-3-26 14:49:55 | 显示全部楼层
使用WM_CreateWindow就可以
回复

使用道具 举报

6

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2016-4-6
在线时间
12 小时
发表于 2016-5-19 10:26:27 | 显示全部楼层
顶!!!
同样遇到这样的问题。。。。
回复

使用道具 举报

51

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
561
金钱
561
注册时间
2011-4-11
在线时间
43 小时
发表于 2019-12-25 22:37:16 | 显示全部楼层
不是这么用的;
定时器里面更新数据保存在控件里面,然后无效话一下,窗口重绘一下就出来了;
你这里是在定时器里面绘制,会绘制,但是一瞬间被重合窗口刷掉了。
正确做法:
1.定时器里面保存更新数据至全局变量中,前提就是这个变量的值是在TEXT控件或者其他控件显示;
2.无效化窗口;
3.重启定时器;

这样处理之后,定时器退出,然后窗口自动会去刷新控件的值,这样就显示出来了。去
回复

使用道具 举报

4

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2019-12-16
在线时间
34 小时
发表于 2020-6-30 16:30:48 | 显示全部楼层
Julius007 发表于 2019-12-25 22:37
不是这么用的;
定时器里面更新数据保存在控件里面,然后无效话一下,窗口重绘一下就出来了;
你这里是在 ...

不是很明白,
我用GUI_TIMER_HANDLE GUI_TIMER_Create   (GUI_TIMER_CALLBACK* cb, int Time,  U32 Context, int Flags);创建定时器,
参数1是一个回调函数,我自己写,这里面重启定时器,我用WM_SendMessage发消息给WM管理器,消息类型是WM_TIMER,但是在WM的回调函数里WM_TIMER根本就不会触发,就没进去;我是等一个按钮按下后开始接收数据,然后画数据曲线图,接收数据没问题,但是画不出图,卡在这里了,你可以帮忙看看为什么没进WM_TIMER这里吗?
回复

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-10-22 15:48:03 | 显示全部楼层

我想在同一个窗口dialog,同时显示dht11的温湿度值和RTC时钟值。我现在只定义了一个窗口定时器,现在温湿度值显示正常了,可是只要把RTC值一加,程序就死机了,不知道是什么原因,困扰了好几天,也解决不了,不知道是什么原因?
有知道的大神麻烦解答一下, 谢谢,谢谢!
回复

使用道具 举报

3

主题

177

帖子

0

精华

高级会员

Rank: 4

积分
774
金钱
774
注册时间
2019-11-27
在线时间
87 小时
发表于 2021-4-23 11:03:53 | 显示全部楼层
jinniuxing 发表于 2020-10-22 15:48
我想在同一个窗口dialog,同时显示dht11的温湿度值和RTC时钟值。我现在只定义了一个窗口定时器,现在温湿 ...

我加了rtc,能跑,不会出问题,可以设置时间,
个人CSDN 首页https://blog.csdn.net/qq_41930631
回复

使用道具 举报

0

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2020-10-19
在线时间
17 小时
发表于 2021-5-26 15:34:09 | 显示全部楼层
Cheng0717 发表于 2021-4-23 11:03
我加了rtc,能跑,不会出问题,可以设置时间,

兄弟,为什么我加了一个通用定时器就不行了呢?
回复

使用道具 举报

108

主题

194

帖子

0

精华

高级会员

Rank: 4

积分
713
金钱
713
注册时间
2016-6-29
在线时间
165 小时
发表于 2021-5-27 14:04:58 | 显示全部楼层
进去以后要重新restart
回复

使用道具 举报

3

主题

177

帖子

0

精华

高级会员

Rank: 4

积分
774
金钱
774
注册时间
2019-11-27
在线时间
87 小时
发表于 2021-5-28 08:47:39 | 显示全部楼层
菜鸟菜中鸟 发表于 2021-5-26 15:34
兄弟,为什么我加了一个通用定时器就不行了呢?

你加定时器干啥?
个人CSDN 首页https://blog.csdn.net/qq_41930631
回复

使用道具 举报

3

主题

177

帖子

0

精华

高级会员

Rank: 4

积分
774
金钱
774
注册时间
2019-11-27
在线时间
87 小时
发表于 2021-5-28 08:52:12 | 显示全部楼层
菜鸟菜中鸟 发表于 2021-5-26 15:34
兄弟,为什么我加了一个通用定时器就不行了呢?

RTC不用通用定时器啊,他自己带有时钟源,可以自己跑,你可以打印到串口看情况
个人CSDN 首页https://blog.csdn.net/qq_41930631
回复

使用道具 举报

3

主题

177

帖子

0

精华

高级会员

Rank: 4

积分
774
金钱
774
注册时间
2019-11-27
在线时间
87 小时
发表于 2021-5-28 15:26:27 | 显示全部楼层
菜鸟菜中鸟 发表于 2021-5-26 15:34
兄弟,为什么我加了一个通用定时器就不行了呢?

https://blog.csdn.net/qq_41930631/article/details/116227314
个人CSDN 首页https://blog.csdn.net/qq_41930631
回复

使用道具 举报

0

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2020-10-19
在线时间
17 小时
发表于 2021-5-29 18:22:14 | 显示全部楼层
Cheng0717 发表于 2021-5-28 15:26
https://blog.csdn.net/qq_41930631/article/details/116227314

兄弟,可以给个WEI讨论联系一下吗?我现在遇到了一些其他问题,跟内存相关,但也不确定。谢谢了!
回复

使用道具 举报

3

主题

177

帖子

0

精华

高级会员

Rank: 4

积分
774
金钱
774
注册时间
2019-11-27
在线时间
87 小时
发表于 2021-5-30 16:29:59 | 显示全部楼层
菜鸟菜中鸟 发表于 2021-5-29 18:22
兄弟,可以给个WEI讨论联系一下吗?我现在遇到了一些其他问题,跟内存相关,但也不确定。谢谢了!

Cheng210717
个人CSDN 首页https://blog.csdn.net/qq_41930631
回复

使用道具 举报

7

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2011-8-10
在线时间
8 小时
发表于 2021-7-9 17:09:41 | 显示全部楼层
WM_RestartTimer(pMsg->Data.v, 1000); 可以定时更新,但是屏幕会闪烁,不知道怎么解决?
回复

使用道具 举报

3

主题

177

帖子

0

精华

高级会员

Rank: 4

积分
774
金钱
774
注册时间
2019-11-27
在线时间
87 小时
发表于 2021-7-14 08:53:39 | 显示全部楼层
cqarm 发表于 2021-7-9 17:09
WM_RestartTimer(pMsg->Data.v, 1000); 可以定时更新,但是屏幕会闪烁,不知道怎么解决?

https://blog.csdn.net/qq_41930631/article/details/118546326 这里有解决方法
个人CSDN 首页https://blog.csdn.net/qq_41930631
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2021-7-7
在线时间
5 小时
发表于 2022-2-24 10:29:48 | 显示全部楼层
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2021-7-7
在线时间
5 小时
发表于 2022-2-24 10:30:38 | 显示全部楼层
修改一行代码,解决了……
https://blog.csdn.net/kala111/article/details/51385247
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 11:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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