![]() |
问题解决了,重装了keil5, 这次安装在c盘,把以前安装过的痕迹全部删除干净。前几次都是安装在其他盘。 折腾了好几天,谢谢大家! |
你最好把程序都贴出来,估计你也不太清楚局部变量和全局变量的深层次使用。局部变量和全局变量是可以同名的,但局部变量使用时会屏蔽同名的全局变量,说穿了还是两个不同的变量。你首先要想清楚怎么使用,在同一个c文件中不同的函数中还是不同的c文件中 |
你是跨页,多个.c文件使用了相同名字的变量了吧?感觉就是这样所以才需要 extern |
蓝蓝小星星 发表于 2024-8-28 10:43 刚才试了,不行。 static 是静态变量,它的作用是在下次启动时保持值不变。 现在的问题是一个普通变量,在调试过程中需要改变值看看效果。 |
只能说明现在还是处于局部变量上,加个关键词给他,static |
蓝蓝小星星 发表于 2024-8-28 00:18 使用过程,就是改变变量的值,然后看程序运行情况, 譬如,if(NowTem==23){......} if(NowTem==56){......} 现在是不能随意改变,永远是初始值,所以不能马上看到NowTem==23 或56时候的运行情况 。 要想看到特定条件下的情况,必须把这个变量在其他函数中定义,然后在本函数中声明是外部变量。 这个问题在keil4 之前是没有的,也就是在w10 使用keil5 调试时才发现的。 这样说清楚了吧。 |
只看到定义,没看到使用过程 |
这涉及到局部变量和全局变量的问题,搞清楚它们的关系,可以解决上述问题。 |
设为全局变量试试 |