在针对stm32f407的硬件仿真时,遇到了监控某个变量时,出现cannot evaluate的问题,在选中view选板下的periodic window update的情况下该变量的值仍然无法实时显示,情况如下图。 第242行的jiaoyan2变量无法显示,经过学习后,发现该变量此时位于中断服务函数内,且定义在其中,此时属于局部变量,而局部变量在程序运行时系统不...
1.输入的是带下角标的数组 2.添加的数组是静态变量数组或者是局部变量数组(参考上面的原因) 一.显示cannot evaluate的问题 变量可能为静态变量或者是局部变量 方案1(对局部变量): (1).进入魔术棒设置代码的优化等级。 如图,将优化等级设置为最低(0级),因为编译器就会将一些局部变量和未使用的变量优化掉,就会找...
在针对stm32f407的硬件仿真时,遇到了监控某个变量时,出现cannot evaluate的问题,在选中view选板下的periodic window update的情况下该变量的值仍然无法实时显示,情况如下图。 第242行的jiaoyan2变量无法显示,经过学习后,发现该变量此时位于中断服务函数内,且定义在其中,此时属于局部变量,而局部变量在程序运行时系统不...
<not in scope>和<cannot evaluate>,无奈凑合着通过printf函数进行串口打印查看。 1 编译器把这个局部变量给优化掉了,并没有在内存中生成,把优化级别改为Level 0,重新编译。 Keil默认优化是等级3,最高优化,这时就会把一些可有可无的操作优优掉,当然也会把仿真优化,所以只需要把优化调为0,不优化,则没有有这个...
可以观察寄存器内容,但就是WATCH中显示"CANNOT EVALUATE",连变量类型都是错的,变量是全局的,有高手...
keil中static变量的访问 第一:该变量是局部变量或者用static修饰的全局变量,ARM_KEIL MDK5的硬件仿真只能实时显示全局变量的值,局部变量或者用static修饰的全局变量是无法显示的,value处会显示cannot evaluate。至于为什么笔者也没有细究,初步判断是和变量本身有关,仿真时查看变量是属于一个“外部操作”因而只有能被外部...
如下图所示,当将函数内的局部变量或者用static修饰的变量添加到watch窗口后显示cannot evaluate ...
<not in scope>和<cannot evaluate>,⽆奈凑合着通过printf函数进⾏串⼝打印查看。1 编译器把这个局部变量给优化掉了,并没有在内存中⽣成,把优化级别改为Level 0,重新编译。Keil默认优化是等级3,最⾼优化,这时就会把⼀些可有可⽆的操作优优掉,当然也会把仿真优化,所以只需要把优化调为0,不...
keil u5为什么..keil u5为什么在watch 里看不到全局变量的值 cannot evaluate局部也看不到 只能看到引脚的值 我也晕了
Watch(监视):任何时刻都可以查看任何变量和任何寄存器。但是对于局部变量,当其作用完成并消失后,会显示”cannot evaluate”。对比Call Stack+Locates,Watch可以查看寄存器值,比如直接输入TIM1->CCR2就能看到这个寄存器的值。另外,比较实用的一个寄存器是SystemCoreClock,初始化以后直接查到系统主频率。