你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STEMWIN定时器不能成功

[复制链接]
与龙共舞 发布时间:2018-6-20 15:26
今天遇到一个问题,自己百度解决了,感觉理解还是有问题,分享出来看看。
参考:
emWin 2天速成实例教程004_软件定时器(Timer)和位图片动画
主要逻辑:隔一段时间 做一个什么事情

  1. WM_HWIN CreateWindowMOV(void) {
  2.         WM_HWIN hWin;

  3.         hWin = GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialog, WM_HBKWIN, 0, 0);
  4.         WM_CreateTimer(hWin, 0, 500, 0); //创建一个软件定时器----这句话不行!!!!!
  5.         WM_CreateTimer(WM_GetClientWindow(hWin),0, 1000, 0);//---这句话可以!!!!!
  6.         return hWin;
  7. }
复制代码

  1. static void _cbDialog(WM_MESSAGE * pMsg) {//回调函数
  2.         WM_HWIN hItem;
  3.         int     NCode;
  4.         int     Id;
  5.         switch (pMsg->MsgId)
复制代码
解决方法就是修改为:WM_CreateTimer(WM_GetClientWindow(hWin),0, 1000, 0);
WHY?
http://blog.csdn.net/kala111/article/details/51385247?locationNum=9&fps=1
收藏 评论3 发布时间:2018-6-20 15:26

举报

3个回答
zero99 回答时间:2018-6-20 15:38:05
看看,还没学习到
Dandjinh 回答时间:2018-6-20 19:17:19
定时器的原理是到时候给某个句柄发个WM_TIMER消息,明显,你只重写了你的串口的WM_TIMER消息,另外一个你没重写,所以看起来另外一个没效果。
与龙共舞 回答时间:2018-6-21 14:54:41
Dandjinh 发表于 2018-6-20 19:17
定时器的原理是到时候给某个句柄发个WM_TIMER消息,明显,你只重写了你的串口的WM_TIMER消息,另外一个你没 ...

哦 不是的 其他都一样的
只是创建的 时候
        WM_CreateTimer(hWin, 0, 500, 0); 不行!!!!!(中文手册历程)
        WM_CreateTimer(WM_GetClientWindow(hWin),0, 1000, 0);可以!!!!!

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版