查看: 5150|回复: 14

[CodeWarrior] CW10.6 调试观察器中数组只能观察100个元素

[复制链接]

该用户从未签到

5

主题

17

帖子

0

注册会员

Rank: 2

积分
89
最后登录
2019-7-27
发表于 2014-12-24 10:30:48 | 显示全部楼层 |阅读模式
定义了一个120位的数组
unsigned short xxx[120];
void main(void)
{
  int i;
  PE_low_level_init();
  for(;;)
  {
          for(i=0;i<120;i++)
                  xxx = i;
  }
}


程序能正常运行,调试的时候观察数组数据时出现下面错误提示

BTW:当数组小于等于100时正常
使用的是MC56F84786
WIN7操作系统,license 是45天试用版,采用几天,安装时只选择了DSC那个选项


我知道答案 目前已有14人回答
回复

使用道具 举报

该用户从未签到

24

主题

252

帖子

0

高级会员

Rank: 4

积分
504
最后登录
1970-1-1
发表于 2014-12-26 12:39:02 | 显示全部楼层
本帖最后由 blacklili 于 2014-12-26 12:44 编辑

xxx=i; 这也行?将一个16位的整型赋给一个数组名称?正在codewarrior中会报错的吧。按照你的程序,我在CW10.6中写了。xxx=i;这句报错:illegal operands 'unsigned short[120]' = 'int'。
回复 支持 反对

使用道具 举报

该用户从未签到

24

主题

252

帖子

0

高级会员

Rank: 4

积分
504
最后登录
1970-1-1
发表于 2014-12-26 12:48:28 | 显示全部楼层
如果将xxx=i;改成xxx[i]=i;那么就可以编译通过,下载运行,在线调试时可以看到数组xxx的变量。cw10.x能够将大于100的数组按100大小进行分组,如图。数据也正常啊。
11.png
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

835

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1795
最后登录
2016-4-2
发表于 2014-12-26 12:53:02 | 显示全部楼层
大哥你这程序xxx整的不对啊?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2024-4-5 11:15
  • 签到天数: 1061 天

    连续签到: 1 天

    [LV.10]以坛为家III

    29

    主题

    1517

    帖子

    31

    金牌会员

    Rank: 6Rank: 6

    积分
    4979
    最后登录
    2024-5-31
    发表于 2014-12-26 15:41:22 | 显示全部楼层
    这个XXx=i的用法有问题,这是往地址里写数据,不是往内存空间写数据,估计把程序写乱了吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    802

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1763
    最后登录
    1970-1-1
    发表于 2014-12-26 16:11:15 | 显示全部楼层
    我看他是把参数写错地址了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    13

    帖子

    0

    注册会员

    Rank: 2

    积分
    58
    最后登录
    2015-1-17
    发表于 2014-12-26 16:28:17 | 显示全部楼层
    如果一定要  xxx = i;直接定义一个指针变量 ,就不用纠结了帅哥
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-12-10 16:14
  • 签到天数: 1442 天

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
    发表于 2014-12-27 08:09:38 | 显示全部楼层
    xxx 是数组名,里头放的是指向数组空间的地址。当数组小于等于100时可以,这个应该是恰巧吧!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    273

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1485
    最后登录
    2020-2-18
    发表于 2014-12-29 11:48:37 | 显示全部楼层
    有可能是数据类型的原因 short和int赋值造成的  可以看看汇编
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    17

    帖子

    0

    注册会员

    Rank: 2

    积分
    89
    最后登录
    2019-7-27
     楼主| 发表于 2014-12-31 11:31:11 | 显示全部楼层
    谢谢各位,代码没有写错,我复制粘贴后就变成那样了,源代码是xxx[i]=i;
    3楼朋友,我将数组定义小于100时能看到数据,当大于100后程序就报错,也就是说软件将数组按100位元素进行分组的插件有问题。我重新下载安装还是一样,现在我直接将数组里的元素直接放到观察器里观察,除了麻烦点,还是可以用的。
    最后再次谢谢各位的回复。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 10:17 , Processed in 0.108200 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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