硬汉嵌入式论坛

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

[emWin] 关于GRAPH控件死机问题

[复制链接]

10

主题

100

回帖

130

积分

初级会员

积分
130
发表于 2018-4-23 18:55:37 | 显示全部楼层 |阅读模式
倒腾了好久, 实在没办法了, 来论坛求教.
由于资源非常有限, 控件显示完数据后需要立马清除,释放内存,否则其它控件无法显示.
现在的问题是显示完曲线清除窗口时候立马死机...
麻烦各位看看,我是哪里错了??
  1. //--------------------------------------------------------------------------------------------//
  2. void CURV_Voltage_Curve(Port_TypeDef * ch)
  3. {
  4.         GRAPH_DATA_Handle  hData;
  5.         GRAPH_SCALE_Handle hScaleV, hScaleH;
  6.         WM_HWIN hGraph;
  7.        
  8.         if(in[9].y++ > 80)in[9].y = 0;
  9.         hGraph = GRAPH_CreateEx(0, 115, 190, 95, WM_HBKWIN, WM_CF_SHOW, 0, GUI_ID_GRAPH0);
  10.         WM_EnableMemdev(hGraph);
  11.         hData = GRAPH_DATA_XY_Create(GUI_WHITE, 10, in, 10);//创建 GRAPH_DATA_XY 对象
  12.         GRAPH_AttachData(hGraph, hData); //将数据对象附加到 GRAPH 控件       
  13. //        GRAPH_SetUserDraw(hGraph, _UserDraw); //设置用户回调函数

  14.         GRAPH_SetGridDistX(hGraph, 20);
  15.         GRAPH_SetGridDistY(hGraph, 20);                                //设置垂直网格间距。
  16.         GRAPH_SetBorder(hGraph, 1, 1, 1, 1);  //设置边框
  17.         GRAPH_SetGridVis(hGraph, 1);                                  //启用网格绘制

  18.         hScaleV = GRAPH_SCALE_Create(20, GUI_TA_RIGHT, GRAPH_SCALE_CF_VERTICAL, 20);//创建 GRAPH_SCALE 对象
  19. //        GRAPH_SCALE_SetOff(hScale, 20);//设置添加到编号的可选偏移。
  20.         GRAPH_SCALE_SetTextColor(hScaleV, GUI_DARKGREEN);
  21.         GRAPH_AttachScale(hGraph, hScaleV); //将刻度对象附加到 GRAPH 控件

  22.         hScaleH = GRAPH_SCALE_Create(70, GUI_TA_HCENTER, GRAPH_SCALE_CF_HORIZONTAL, 50);
  23.         GRAPH_SCALE_SetFactor(hScaleH, 0.02f);
  24.         GRAPH_SCALE_SetTextColor(hScaleH, GUI_DARKGREEN);
  25.         GRAPH_AttachScale(hGraph, hScaleH);

  26.         GUI_Exec();
  27.         FreeBytes = GUI_ALLOC_GetNumFreeBytes(); //返回可用空闲内存
  28.         WM_DeleteWindow(hGraph);
  29. }
复制代码


剩余内存数量

剩余内存数量

死机后的断点和函数

死机后的断点和函数
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-4-24 01:25:31 | 显示全部楼层
不好意思,楼主,刚回复你。

楼主是否有稍完整的测试代码,仅需要你这个Graph界面的即可,我直接在我们板子上面给你测试下。
回复

使用道具 举报

356

主题

2181

回帖

3254

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3254
发表于 2018-4-24 08:28:34 | 显示全部楼层
你这个思路有点问题,控件创建和删除在一个函数,执行起来都是毫秒级别的,那么你根本看不到这个控件。。。。。还有啥意义?
回复

使用道具 举报

10

主题

100

回帖

130

积分

初级会员

积分
130
 楼主| 发表于 2018-4-24 09:51:46 | 显示全部楼层
感谢楼上两位的回复!
问题已经解决.
我换了一个思路来实现, 贝塞尔曲线计算加绘线函数.
这样做更加节省资源,全程可控!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-4-25 00:58:39 | 显示全部楼层
`dc2018 发表于 2018-4-24 09:51
感谢楼上两位的回复!
问题已经解决.
我换了一个思路来实现, 贝塞尔曲线计算加绘线函数.

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-20 02:49 , Processed in 0.045868 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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