tony_bu 发表于 2009-12-29 22:03:49

ucosii 的任务中,最大可以建多大的二维数组?

本人今天调了一天的程序。
发现这样一个怪的问题。

unsigned charInitialArry;/////////////如果把这里改成InitialArry的话,好像程序就没问题。如果是16,16的话。程就有问题。
// unsigned char         NextArry;
// unsigned char OKConvert,temp;
// static unsigned char RowCounter;
unsigned char j,k;

      void TaskDisp(void*pdata)
{
        pdata=pdata;

//`        RowCounter =0;

                               
              
//PINSEL0 = PINSEL0 & (~0xfffe0);
        //IO0DIR|= IO0DIR | 0xfffe0;
        //IO0SET = LED1;
       
        for(j=0;j<12;j++)
         {
                        for(k=0;k<12;k++)
                        {
                                InitialArry = 0xaa;
                               
                        }
        }
for(;;)
{
}                                                                                                                                          }                                                                                                                                              如果把这里改成InitialArry的话,好像程序就没问题。如果是16,16的话。程就有问题。      为什么呀。
任务里的最大二维数组是多大。

tony_bu 发表于 2009-12-29 22:04:42

网上等各位大侠的回复。

tony_bu 发表于 2009-12-29 22:05:08

网上等各位大侠的回复。

001friend 发表于 2009-12-29 22:14:47

你的情况没交待清楚,到底是什么问题,编译器编译出错,还是其它什么错误,要把你的错误表述清楚
你是的什么CPU会不会是CPU的RAM太小了,InitialArry占用64字节内存,InitialArry可要占256个字节的RAM

arm_love 发表于 2009-12-29 22:16:16

不是局部变量应该问题不大。

tony_bu 发表于 2009-12-29 22:24:32

不好意思呀。。问题我没有表述清楚。。
是这样的。如果我把数组定义成InitialArry的话,编译是没有问题,只是程序在运行的时候进入死循环。任务与任务之前不会切换。如果是定义成InitialArry的话,编译也是没有问题,程序在调试运行的时候也没有问题。一切正常。。。
我用的arm是LPC2131。我为这个任务分配的堆栈是512

19001579 发表于 2010-1-3 22:58:46

应该是你分配的堆栈太小了吧,在任务切换的时候,没法压进堆栈里面去,那肯定出问题了,也就是在PUSH的时候你分配的内存根本就装不下

大风吹不倒 发表于 2015-11-5 09:32:50

19001579 发表于 2010-1-3 22:58
应该是你分配的堆栈太小了吧,在任务切换的时候,没法压进堆栈里面去,那肯定出问题了,也就是在PUSH的时候你分 ...

感觉蛮对的

vipcff 发表于 2015-11-5 11:29:56

感觉不对啊   全局变量和静态变量都是保存在全局区的,普通变量保存在栈区,动态分配的内存空间是存在堆区的   ucos里设置的仅仅是stack ,应该是栈区,和全局没有关系。

3050311118 发表于 2015-11-5 13:37:46

局部变量任务切换会压进堆栈里面去的,所有那个要开大。不知道我说的对不对。

vipcff 发表于 2015-11-5 14:22:26

局部变量需要开大 但是楼主位的是全局...
页: [1]
查看完整版本: ucosii 的任务中,最大可以建多大的二维数组?