This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

auto segment too large

i get the error "main() auto segment too large" for the given program which should be run on atmet 89c51 how to fix it
thanks.........

#include <reg51.h>
void Delay();
char serialsend(char []);

void main ()
{ char z;
char command1[]={"AT+CGATT=1\r"};
char command2[]={"AT+CSTT= \"ufone.pinternet\"\r" };
char command3[]={"AT+CIICR\r"};
char command4[]={"AT+CIFSR\r"};
char command5[]={"AT+CIPSTART=\"TCP\"\"121.52.147.94\"800\r"};
char command6[]={"AT+CIPSEND\r"};
char command7[]={"GPRS is Activated"};
char command8[]={"26"};
TMOD = 0x20;
TH1 = 0xFD;
SCON = 0x50;
TR1 = 1;
serialsend(command1);
Delay();
serialsend(command2);
Delay();
serialsend(command3);
for(z=0; z<3; z++)
{ Delay(); }
serialsend(command4);
Delay();
serialsend(command5);
for(z=0; z<10; z++)
{ Delay();
} serialsend(command6);
for(z=0; z<5; z++)
{ Delay(); }
serialsend(command7);
serialsend(command8);

}
char serialsend(char array[])
{ int i=0;
while(array[i] != '\0')
{ SBUF = array[i];
while(TI == 0);
TI = 0;
i++;
} }

void Delay()
{ unsigned char x;
for(x=0; x<40; x++)
{ TMOD=0x10;
TL1=0xFE;
TH1=0xA5;
TR1=1;
while (TF1==0);
TR1=0;
TF1=0;
} }

Parents
  • Didn't harash jameel remember to tell you that?
    If you really find harash jameels tip best, why you even bother to ask the forum?
    Because jameels suggestion is the worst answer you can find for your specific processor.
    If the answers have already said that a change to large would not get your program to work - why did you then try it and considers it the best answer?

    If this is a "one off", so what but what if not.

    I would (except for a one off") immediately fire anyone that was interested in what was 'easy' instead of what was best.

    again except for a one off", using 'large' is probably the worst thing you can do to a '51 project.

    Erik

Reply
  • Didn't harash jameel remember to tell you that?
    If you really find harash jameels tip best, why you even bother to ask the forum?
    Because jameels suggestion is the worst answer you can find for your specific processor.
    If the answers have already said that a change to large would not get your program to work - why did you then try it and considers it the best answer?

    If this is a "one off", so what but what if not.

    I would (except for a one off") immediately fire anyone that was interested in what was 'easy' instead of what was best.

    again except for a one off", using 'large' is probably the worst thing you can do to a '51 project.

    Erik

Children