导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→Keil c51出现了奇怪的问题,大家帮忙看看[kong107]

 *第30492篇: Keil c51出现了奇怪的问题,大家帮忙看看

  
楼 主:kong107 2005年3月22日16:22
 Keil c51出现了奇怪的问题,大家帮忙看看
平时使用都是没问题的,但是如果程序中有循环的语句就出问题了,是这样的:
在Keil C51中编译链接都通过,软件仿真也没问题。
但把Keil中生成的Hex文件烧入单片机里就是不能运行。
但是把Keil在调试时自动生成的对应汇编代码记下来,然后用其生成HEX再烧入单片机就没有问题了。
我对比了两者所生成的HEX文件,发现有一部分不同,这种问题应该是编译时造成的。
在网上也看到有人遇到这种问题,听说是由于堆栈的原因。
有什么办法可以解决呢?请各位帮帮忙
  
2楼:kong107 2005年3月22日16:31
 希望先亮了P0.0,再亮P0.1,程序如
希望先亮了P0.0,再亮P0.1,程序如下:
#include   <at89x51.h>  
void main(void)
{
unsigned int i;
P0_0=0;
for(i=0;i  <50000;i++)
{
;
}
P0_1=0;
}
但是结果是只亮了P0.0,P0.1根本就不会亮。如果屏蔽了这个for循环,就正常了,两个灯都亮了起来。为什么呢?
  
3楼:guest 2005年3月29日16:45
 如果你加看门狗,看门狗复位了,。看到灯0亮,灯1不亮。
  
4楼:swqaswqa 2005年3月22日21:28
 程序跑飞!
程序跑飞!
  
5楼:guest 2005年3月22日20:40
 整形变量的值能达到50000吗?都益出了.
  
6楼:times 2005年3月22日20:08
 你的程序就运行了一次?
你的程序就运行了一次?
  
7楼:times 2005年3月22日20:06
 程序跑飞!
程序跑飞!

>>>>>>对该主题发表你的看法

本主题贴数7,分页: [第1页]


[上一篇主题]:大家进来看看帮帮忙啊

[下一篇主题]:[原创]单片机兼职