4548|8

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于keil仿真软件使用问题~ [复制链接]

我在keil使用中的时候发现了两个问题~求助高手~
第一个问题:我在仿真的时候~发现在watch 中的变量只有16进制和10进制数据~没有办法看assic码的数据~ 是不是只能看16进制或者10进制数据~不能看assic码的数据呀?如果能请告诉我怎么看~
第二个问题:看下面的那段程序~
void send(const uchar *compointer,uchar *compointer2,uchar mode)    {
  uint length;
  uchar *compointer1;
  uchar mode1;
  
  length = *compointer;
  compointer++;
  length = length*256 + *compointer;
  compointer++;
  SEND_BUF(compointer,length);   //  发送时数据
  mode1 = mode;
  switch(mode1)
{  
  
  case 1:

      compointer1 = compointer2;
      length = *compointer1;
      compointer1++;
      length = length*256 + *compointer1;
      compointer1++;
      SEND_BUF(compointer1,length);       //  发送时数据
      break;
    }
  case 2:

      compointer1 = compointer;
      length = *compointer1;
      compointer1++;
      length = length*256 + *compointer1;
      compointer1++;
      SEND_BUF(compointer1,length);       //  发送时数据
      break;

  }
    default: break;
}
当仿真的时候case 2 设置不了断点, 而且调用此函数 mode = 2 但是进入函数后,程序也不进入case 2的程序段中~
不知什么原因~
请高手指点一下小弟~
此帖出自stm32/stm8论坛

最新回复

                                 这个不是很清楚,对于数据串,我一直都是直接看memory窗口的。  详情 回复 发表于 2010-7-18 09:00
点赞 关注
 

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 


if(mode1 == 1)

      compointer1 = compointer2;
      length = *compointer1;
      compointer1++;
      length = length*256 + *compointer1;
      compointer1++;
      SEND_BUF(compointer1,length);       //  发送时数据

    }
  if(mode1 == 2)

      compointer1 = compointer;
      length = *compointer1;
      compointer1++;
      length = length*256 + *compointer1;
      compointer1++;
      SEND_BUF(compointer1,length);       //  发送时数据

  }
如果把程序改成上面这样~ if(mode1  = 2)下面的那段程序 也设置不了断点。
改成
else if(mode1 == 2)的时候 上面又设置 不了断点
此帖出自stm32/stm8论坛
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
没有人知道是怎么回事吗?
急求斑竹救命
此帖出自stm32/stm8论坛
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 
                                 直接用mode试试,不要用mode1过渡。
此帖出自stm32/stm8论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

5
 


4# 版主
用过了~但是也是相同的问题~
我在别的论坛中 问题二是被编译器优化掉了!
但是我没有找到 设置优化的地方 能不能截图给我提示一下~只有仿真的时候才会出现这种现象
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
两段代码一模一样,编译器给优化了。
我相信即使你优化级别为0,编译器也会将它干掉的。
QQ截图未命名.jpg
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

7
 

谢谢~确实向你所说的级别为0 也被优化了~
此帖出自stm32/stm8论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

8
 
                                 第一个问题:我在仿真的时候~发现在watch 中的变量只有16进制和10进制数据~没有办法看assic码的数据~ 是不是只能看16进制或者10进制数据~不能看assic码的数据呀?如果能请告诉我怎么看~
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

9
 
                                 这个不是很清楚,对于数据串,我一直都是直接看memory窗口的。
此帖出自stm32/stm8论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表