智能车制作

标题: 程序运行 [打印本页]

作者: zhehong    时间: 2013-3-9 23:41
标题: 程序运行
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */



void f()
{
float pi[256]={0.0};
}

void main(void) {
  /* put your own code here */
  f();
  DDRB=0XFF;
  PORTB=0X55;

        EnableInterrupts;


  for(;;) {
    _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}

大牛们,为什么这段程序无法正确运行,你们能正确运行这程序吗?


作者: 灰原姐姐    时间: 2013-3-9 23:41
栈溢出了,单片机的栈一般只有几十几百个字节。
作者: zhehong    时间: 2013-3-9 23:53
如果把pi[256]={0.0}改成pi[50]={0.0}就可以正确运行了,这是怎么回事呢?


作者: zhehong    时间: 2013-3-10 11:03
灰原姐姐 发表于 2013-3-9 23:41
栈溢出了,单片机的栈一般只有几十几百个字节。

其实有点不明白,我定义的浮点数数组怎么说也少于2000字节,但是图像采集的数组怎么说也有6000+个字节,怎么就会没事呢??
作者: 灰原姐姐    时间: 2013-3-10 14:59
zhehong 发表于 2013-3-10 11:03
其实有点不明白,我定义的浮点数数组怎么说也少于2000字节,但是图像采集的数组怎么说也有6000+个字节,怎 ...

全局变量就没事,局部变量是存在栈上的。





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2