本帖最后由 xxlin1984 于 2014-2-9 17:16 编辑
晓文88 发表于 2014-2-5 21:31 
这两天,调试这个C51程序,快发疯了。无论程序检查多么正确,编译后就是运行部起来。Keil uVision2换了Keil ...
你纠结的地方不对。
这段switch..case..只要验证switch前和switch后的变量,输入和期望的输出对上了,程序就对了。
至与运行不起来,那是其他的问题。
“甚至找了以前的备份程序,直接烧录目标文件是可以运行的,一旦重新编译,就不能运行了”
可能的原因:
1. 使用了别的版本编译的库,现在的版本不兼容
2. 源程序写的时候不规范;版本、优化等级的不同会导致编译结果的微小区别(虽然逻辑一般是正确的),但和硬件配合不上(比如,某些精确的延时既没使用定时器,又没留余量,版本或优化等级变了,延时也就对不上了)
|