OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10374|回复: 4

【求助】MDK仿真时变量问题,麻烦大伙帮忙看下~

[复制链接]

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-1-2 11:02:28 | 显示全部楼层 |阅读模式
设定了变量值自动更新,程序跑的过程中有的值变化,有的值显示“cannot evaluate”,如图,这个是怎么回事?(变量声明见代码,在同一个函数)



代码:

void Coordinate_Compute()
{
        double X_Now = 0;  //current coordinate
        double Y_Now = 0;  //current coordinate
double latitude_temp = 0;  
double latitude_cur = 0;  
double C1,C2,C3,C4,C5,C6;  //middle value   
double C = 0;    //middle value   
// double Latitude_Per=40075.04/360;  //the distance of per latitude 
float R = 6371.004;  //radius of earth(km)
float Pi = 3.141593;    //PI
double Distance = 0;  //result of compute
C1 = C2 = C3 = C4 = C5 = C6 = C;  //init middle value
latitude_cur = (double)gpsx.latitude;
latitude_temp = latitude_cur - Latitude_Set;
X_Now = R * (latitude_temp) / (2 * Pi * 1000);//update the X_Now ,m
// C=sin((Latitude_Set/100000))*sin((gpsx.latitude/100000))+cos((Longitude_Set/100000-gpsx.longitude/100000))*cos((Longitude_Set/100000))*cos((gpsx.longitude/100000));
// C=sin()*sin()+cos()*cos()*cos();
//  the value of C is WRONG!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
C1 = (Latitude_Set / 100000);
C2 = (Latitude_Now / 100000);   
C3 = Longitude_Set / 100000 - Longitude_Now / 100000;
C4 = (Latitude_Set / 100000);
C5 = (Latitude_Now / 100000);
C = sin(C1) * sin(C2) + cos(C3) * cos(C4) * cos(C5);
/////////////////////////////////////////////////////////////////////
Distance = R * acos(C) * Pi * 1000 / 180; //m
C6 = pow(Distance,2) - pow(X_Now,2);
Y_Now = sqrt(C6); 
if(X_Now < 0) 
{
LCD_ShowString(120,150,20,16,16,"-"); 
X_Now = - X_Now;
}
else LCD_ShowString(150,150,20,16,16," "); 
if(Longitude_Set - ((double)gpsx.longitude) > 0) 
{
LCD_ShowString(140,170,20,16,16,"-"); 
Y_Now = Y_Now;
}
else LCD_ShowString(150,170,20,16,16," "); 
LCD_ShowxNum(150,150,X_Now,5,16,0);
LCD_ShowxNum(150,170,Y_Now,5,16,0);
LCD_ShowxNum(150,190,Distance,5,16,0);
}


博观而约取,厚积而薄发。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
 楼主| 发表于 2014-1-2 11:03:43 | 显示全部楼层
打了断点以后,那些“cannot evaluate”变量值是可以显示的~
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-1-2 14:23:53 | 显示全部楼层
不解,我一般都是断点查看的...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

20

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2014-7-22
在线时间
0 小时
发表于 2014-9-1 01:09:38 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
回复【3楼】正点原子:
---------------------------------
据说可以实时查看变量的变化 ,IAR就有 好郁闷,不知道mdk、为什么就是用不了
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-9-1 23:12:59 | 显示全部楼层
MDK也有,但是变化不受控,只能感官的看看。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-1 20:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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