硬汉嵌入式论坛

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

[其它] Micrium uC-Probe 的结构体嵌套无法正常读取数据

[复制链接]

9

主题

38

回帖

65

积分

初级会员

积分
65
发表于 2020-3-19 17:39:43 | 显示全部楼层 |阅读模式
我用的tcp/ip接设备,但是结构体嵌套的时候无法读取数据,有没有能解决的方法?
结构体嵌套.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2020-3-19 17:41:04 | 显示全部楼层
把结构体定义发出来
回复

使用道具 举报

9

主题

38

回帖

65

积分

初级会员

积分
65
 楼主| 发表于 2020-3-19 17:50:30 | 显示全部楼层
本帖最后由 ice845930 于 2020-3-20 10:49 编辑

回复

使用道具 举报

9

主题

38

回帖

65

积分

初级会员

积分
65
 楼主| 发表于 2020-3-19 18:02:11 | 显示全部楼层
eric2013 发表于 2020-3-19 17:41
把结构体定义发出来

#pragma pack(1)
typedef struct {
        u16 AddrStart;        //开始地址
}PACK_a;
#pragma pack()

#pragma pack(1)
typedef struct {
        u16 AddrStart;        //开始地址
        PACK_a a;
}PACK_b;
#pragma pack()
PACK_b bbl;

printf("%d\n",bbl.a.AddrStart);


结构体嵌套.jpg
回复

使用道具 举报

9

主题

38

回帖

65

积分

初级会员

积分
65
 楼主| 发表于 2020-3-19 18:09:39 | 显示全部楼层
eric2013 发表于 2020-3-19 17:41
把结构体定义发出来

发了两次,都没发出来?
回复

使用道具 举报

9

主题

38

回帖

65

积分

初级会员

积分
65
 楼主| 发表于 2020-3-20 14:17:25 | 显示全部楼层
想了一个笨方法,设置一个u32的变量传递要查看的嵌套结构体成员的指针地址,然后再从这个地址取值,即可以查到里面的值。总比没得用得好好
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2020-3-20 14:32:28 | 显示全部楼层
ice845930 发表于 2020-3-20 14:17
想了一个笨方法,设置一个u32的变量传递要查看的嵌套结构体成员的指针地址,然后再从这个地址取值,即可以 ...

你这个界面用那个图标功能展示的,发个全图,找了一圈没有找到。

回复

使用道具 举报

9

主题

38

回帖

65

积分

初级会员

积分
65
 楼主| 发表于 2020-3-20 15:56:05 | 显示全部楼层
eric2013 发表于 2020-3-20 14:32
你这个界面用那个图标功能展示的,发个全图,找了一圈没有找到。

这个我直接打字吧(advanced -> tree view control)其他的不需要设置,直接拖变量进去。传图怪麻烦的,而且直接看图也看不出来是哪一个控件。
用的是4.70版本。
回复

使用道具 举报

9

主题

38

回帖

65

积分

初级会员

积分
65
 楼主| 发表于 2020-3-20 15:59:10 | 显示全部楼层
eric2013 发表于 2020-3-20 14:32
你这个界面用那个图标功能展示的,发个全图,找了一圈没有找到。

图来了
放结构体的图1jpg.jpg
回复

使用道具 举报

6

主题

641

回帖

659

积分

金牌会员

积分
659
QQ
发表于 2020-3-21 20:18:07 | 显示全部楼层
楼主已经移植uc/TCP-TP跑起来了?
回复

使用道具 举报

6

主题

641

回帖

659

积分

金牌会员

积分
659
QQ
发表于 2020-3-21 20:47:36 | 显示全部楼层
本帖最后由 yklstudent 于 2020-3-21 21:41 编辑

这个uC/Probe真是神奇了,可以通过串口方式在线查看变量实时运行值,也可以在线实时修改变量值
确实是个好工具,你提到的结构体变量显示问题,需要添加结构体下的两个以上变量就可以查看整个了
微信图片_20200321214010.png
回复

使用道具 举报

9

主题

38

回帖

65

积分

初级会员

积分
65
 楼主| 发表于 2020-3-23 09:00:05 | 显示全部楼层
yklstudent 发表于 2020-3-21 20:47
这个uC/Probe真是神奇了,可以通过串口方式在线查看变量实时运行值,也可以在线实时修改变量值
确实是个 ...

没有移植成功。我用的是片外的硬件协议栈。
你说的意思我没明白。是把结构体下的两个变量放到其他的控件吗?就是你图里面的408 和两个0?
回复

使用道具 举报

9

主题

38

回帖

65

积分

初级会员

积分
65
 楼主| 发表于 2020-3-23 09:49:48 | 显示全部楼层
原来有两个提示,没有发上来。不知道是不是这个原因。我重装之后还是存在这个问题,换了个安装盘也存在这问题。以前装过4.5x到现在的4.8
提示缺少文件.jpg
警告.jpg
回复

使用道具 举报

5

主题

95

回帖

110

积分

初级会员

积分
110
发表于 2020-3-23 09:53:19 | 显示全部楼层
ice845930 发表于 2020-3-23 09:00
没有移植成功。我用的是片外的硬件协议栈。
你说的意思我没明白。是把结构体下的两个变量放到其他的控件 ...

我也遇到你说的问题了。因为结构体中有结构体指针变量,把这个成员也拉进去就行了
回复

使用道具 举报

6

主题

641

回帖

659

积分

金牌会员

积分
659
QQ
发表于 2020-3-23 12:23:28 | 显示全部楼层
ice845930 发表于 2020-3-23 09:49
原来有两个提示,没有发上来。不知道是不是这个原因。我重装之后还是存在这个问题,换了个安装盘也存在这问 ...

这个软件你找到“Custom symbols”控件界面,那里显示有要添加的结构体内变量后(一个不够,至少两个以上),你就可以看到所有结构体变量内容了,具体操作步骤涉及到“Symbol Settings”界面下的操作,你多摸索摸索就知道什么回事了
回复

使用道具 举报

6

主题

641

回帖

659

积分

金牌会员

积分
659
QQ
发表于 2020-3-23 12:25:02 | 显示全部楼层
ice845930 发表于 2020-3-23 09:00
没有移植成功。我用的是片外的硬件协议栈。
你说的意思我没明白。是把结构体下的两个变量放到其他的控件 ...

不过这个软件查看结构体还是有限制,具体会遇到什么问题你使用就会体会到
回复

使用道具 举报

5

主题

95

回帖

110

积分

初级会员

积分
110
发表于 2020-3-23 23:05:24 | 显示全部楼层
yklstudent 发表于 2020-3-23 12:25
不过这个软件查看结构体还是有限制,具体会遇到什么问题你使用就会体会到

我有个结构体力用了联合体就差看不了了;还有个用了位段显示也不正确
回复

使用道具 举报

6

主题

641

回帖

659

积分

金牌会员

积分
659
QQ
发表于 2020-3-24 09:56:39 | 显示全部楼层
xiaomeng 发表于 2020-3-23 23:05
我有个结构体力用了联合体就差看不了了;还有个用了位段显示也不正确

应该都可以显示,只是显示条件复杂点
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 10:03 , Processed in 0.345237 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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