硬汉嵌入式论坛

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

[emWin] 江湖救急 emWin v6.40 graph刻度一直是0

  [复制链接]

2

主题

3

回帖

9

积分

新手上路

积分
9
发表于 2024-11-18 18:22:21 | 显示全部楼层 |阅读模式
在模拟器运行一个最简单的显示刻度值的demo,可以正确显示刻度数值10、20、30...,然后代码平移到开发板上后,刻度数值都是0,大佬们帮忙分析一下可能是哪里出的问题
//
// Dialog ressource
//
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
  { FRAMEWIN_CreateIndirect, "GRAPH_DATA_XY demo", 0                ,   0,   0, 320, 240, FRAMEWIN_CF_MOVEABLE },
  { GRAPH_CreateIndirect,     0,                   GUI_ID_GRAPH0    ,   5,   5, 200, 200 },
};

/*********************************************************************
*
*       _cbCallback
*
* Function description
*   Callback function of the dialog
*/
static void _cbCallback(WM_MESSAGE * pMsg) {
  WM_HWIN hDlg;
  WM_HWIN hItem;

  hDlg = pMsg->hWin;
  switch (pMsg->MsgId) {
  case WM_INIT_DIALOG:
      hItem = WM_GetDialogItem(hDlg, GUI_ID_GRAPH0);

      GRAPH_SetGridDistY(hItem, 10);

      //
      // Create and add vertical scale
      //
      _hScaleV = GRAPH_SCALE_Create(0, GUI_TA_LEFT, GRAPH_SCALE_CF_VERTICAL, 10);
      GRAPH_SCALE_SetFactor(_hScaleV, 1);
      GRAPH_AttachScale(hItem, _hScaleV);
      break;
  default:
    WM_DefaultProc(pMsg);
    break;


我怀疑是不是我移植的emWin系统哪里没移植好
回复

使用道具 举报

2

主题

3

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2024-11-18 18:26:37 | 显示全部楼层
老产品用的版本是 v5.44,现在用的是v6.40,老产品曲线功能都正常,代码移植过来后发现刻度数值是0,所以就用模拟器运行了一个最最基础的demo,发现模拟器可以正确显示刻度数值,但是手里的开发板还是显示0
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116242
QQ
发表于 2024-11-19 10:00:06 | 显示全部楼层
625489045 发表于 2024-11-18 18:26
老产品用的版本是 v5.44,现在用的是v6.40,老产品曲线功能都正常,代码移植过来后发现刻度数值是0,所以就用 ...

调用那个off偏移函数,手动设置下试试
回复

使用道具 举报

21

主题

481

回帖

544

积分

金牌会员

积分
544
发表于 2024-11-19 14:39:57 | 显示全部楼层
加大栈试试,新版本需要大一点的ram
回复

使用道具 举报

2

主题

3

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2024-11-26 15:17:25 | 显示全部楼层
eric2013 发表于 2024-11-19 10:00
调用那个off偏移函数,手动设置下试试

公司大佬给解决了,现在用的STM32U5系列的单片机,用的是V6版本的编译器,把keil里面的硬件浮点数选项 选为不使用就正常了
回复

使用道具 举报

2

主题

3

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2024-11-26 15:18:23 | 显示全部楼层
h_007 发表于 2024-11-19 14:39
加大栈试试,新版本需要大一点的ram

公司大佬给解决了,现在用的STM32U5系列的单片机,用的是V6版本的编译器,把keil里面的硬件浮点数选项 选为不使用就正常了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116242
QQ
发表于 2024-11-27 08:54:56 | 显示全部楼层
625489045 发表于 2024-11-26 15:18
公司大佬给解决了,现在用的STM32U5系列的单片机,用的是V6版本的编译器,把keil里面的硬件浮点数选项 选 ...

如果是这样的话,可以试试这两个,软件浮点库

124.png
回复

使用道具 举报

2

主题

3

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2024-11-27 15:00:36 | 显示全部楼层
eric2013 发表于 2024-11-27 08:54
如果是这样的话,可以试试这两个,软件浮点库

好的,谢谢大佬
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2025-1-19 21:09:46 | 显示全部楼层
eric2013 发表于 2024-11-27 08:54
如果是这样的话,可以试试这两个,软件浮点库

F429遇到同样的问题,V544转V646,刻度全为0,试了这两个软浮点库也不行。想关掉FPU,但是FreeRTOS强制要求打开,不行的话只能手动绘制刻度了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116242
QQ
发表于 2025-1-20 06:33:55 | 显示全部楼层
摞代码的猴哥 发表于 2025-1-19 21:09
F429遇到同样的问题,V544转V646,刻度全为0,试了这两个软浮点库也不行。想关掉FPU,但是FreeRTOS强制要 ...

FreeRTOS的话,可以使用M3的port移植文件,这个里面是没有开启FPU的
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2025-1-22 19:31:37 | 显示全部楼层
eric2013 发表于 2025-1-20 06:33
FreeRTOS的话,可以使用M3的port移植文件,这个里面是没有开启FPU的

已验证可行,用M3的port,关闭FPU显示正常了。(可惜又发现DSP的库也要用FPU,还是先自己画坐标用吧)
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116242
QQ
发表于 2025-1-23 07:27:53 | 显示全部楼层
摞代码的猴哥 发表于 2025-1-22 19:31
已验证可行,用M3的port,关闭FPU显示正常了。(可惜又发现DSP的库也要用FPU,还是先自己画坐标用吧)

DSP库也有对应的M3的,你可以使用M3方式的。也就是不开FPU的方式。
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2025-2-6 20:52:06 | 显示全部楼层
eric2013 发表于 2025-1-23 07:27
DSP库也有对应的M3的,你可以使用M3方式的。也就是不开FPU的方式。

多谢指导,解决了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116242
QQ
发表于 2025-2-7 06:26:36 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-11 09:21 , Processed in 0.308886 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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