论坛风格切换切换到宽版
  • 3265阅读
  • 10回复

不知大家发现编译器也有问题 [复制链接]

上一主题 下一主题
在线BG9FU
 
发帖
1137
只看楼主 倒序阅读 0楼 发表于: 2005-01-22
我用keil编译器,编译成功程序却不执行,而更改了startup.a51,便能正确执行。
在做自动键时,编译成功,但控制的两个管脚低电位时只有4.3v。不知还有谁遇到过?
离线BG4UVR
发帖
11287
只看该作者 1楼 发表于: 2005-01-22
编译成功不代表没有错误,逻辑错误编译器是无法发现的。
离线ninja
发帖
22
只看该作者 2楼 发表于: 2005-01-22
同意上楼的意见,
编译成功只是指的是语法没有错误而已!!关于你的程序要实现的功能,编译器当然无法检查。
在线BG9FU
发帖
1137
只看该作者 3楼 发表于: 2005-01-25
程序肯定没有问题!程序肯定没有问题!
离线BG4UVR
发帖
11287
只看该作者 4楼 发表于: 2005-01-25
'
程序肯定没有问题!程序肯定没有问题!
'

难道见鬼?程序帖上来让同学们看看?
离线bg4rhe
发帖
756
只看该作者 5楼 发表于: 2005-01-26
为什么“编译成功程序却不执行,而更改了startup.a51,便能正确执行”?

“但控制的两个管脚低电位时只有4.3v”?板子会不会有什么问题?
'
我用keil编译器,编译成功程序却不执行,而更改了startup.a51,便能正确执行。
在做自动键时,编译成功,但控制的两个管脚低电位时只有4.3v。不知还有谁遇到过?
'
离线chenerbox
发帖
1168
只看该作者 6楼 发表于: 2005-01-26
不要轻易怀疑编译器的问题,99%是自己的问题。
在线BG9FU
发帖
1137
只看该作者 7楼 发表于: 2005-01-27
大家不相信我也没办法,但却是事实。我在做自动键时,一个管脚控制继电器吸合,另一个控制发光管,工作不正常,脱开继电器电路,用万用表测,我按一下电键,这两个管脚电压动一下,从5v变到4.3v,说明程序没有问题,我换了芯片还是这样,我当时认为可能是2051内部问题。第二次我做一个测温度的电路,使用了软件狗,装了startup.a51,编译器也作了相应的调整,此时程序正确。由于程序太大,改用硬件狗,把startup.a51删了,编译器也调整了,程序编译通过了,但程序就是不执行。后来把编译器设置改回来,就好了。当然了程序不执行很有可能是自己设置有问题,或者是自己没有按照编译器的要求做,不可能让编译器适应自己,自己要适应编译器。
离线BG4UVR
发帖
11287
只看该作者 8楼 发表于: 2005-01-28
5v变为4.3v,说明程序没有问题?
离线BG7AL
发帖
290
只看该作者 9楼 发表于: 2005-01-31
'
大家不相信我也没办法,但却是事实。我在做自动键时,一个管脚控制继电器吸合,另一个控制发光管,工作不正常,脱开继电器电路,用万用表测,我按一下电键,这两个管脚电压动一下,从5v变到4.3v,说明程序没有问题,
『建议:你将io口不接负载,调试一次。或者做个检测程序再试试』
我换了芯片还是这样,我当时认为可能是2051内部问题。第二次我做一个测温度的电路,使用了软件狗,装了startup.a51,编译器也作了相应的调整,此时程序正确。由于程序太大,改用硬件狗,把startup.a51删了,编译器也调整了,程序编译通过了,但程序就是不执行。后来把编译器设置改回来,就好了。
『不用改』
当然了程序不执行很有可能是自己设置有问题,或者是自己没有按照编译器的要求做,不可能让编译器适应自己,自己要适应编译器。
『这种说法不对,你的程序不执行的问题,可能出在硬件上,还有就是编译器是否对改芯片支持。 如果芯片的编译器不支持,也会出现这种编译通过但是程序不能执行的情况。』
'

试试看。如果有问题,再贴出来,我们帮你看看。。。
离线BD4VNF
发帖
1208
只看该作者 10楼 发表于: 2005-01-31
编译器本身不会 有问题 。但单片机的hex 文件格式并不全是一样。据我 所知,2051和89c51的就存在细微差别。