Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

MkroC Shows error ( Const truncated)

Status
Not open for further replies.
ansarmy

Post here the code line where that error occurs.

+++
 

Hai,

Thanks
here i post my code




const char msg[]="AT+CMG=1\r";
char cmgf[]="F",rmsg[]="R",del[]="D";
const char send[]="AT+CMGS=+918089686343";
const char dat[]="$GPRMC";
const char on[]="on*";
unsigned char ps[55];
unsigned char lat[30]; // I want to increase the array size lat[30]- lat[40];

char par[]="Latit:Longi:Speed:";

const char not[]="GPS DATA IS NOT AVAILABLE!!";
char read[15],a1;//,speed[5];
int i=0,j=0,k=0,n1=0,m1=0,q=0,x=0,q1=0,co=0,co1=0,v=0,g=0x1a,lt=0,jn2=0,fn=0,fn1=0;

void send1();
void data(char[],int,int);

void usart();
void storegps();
void common(char[]);
void main()
{
trisb=trisc=0x00;
portb=portc=0x00;
Usart_Init(9600);
Soft_Uart_Init(PORTB,2,3,9600, 0);
Delay_ms(3000);
top:
i=j=k=n1=m1=q=q1=x=co=co1=0,jn2=0,v=1;

Usart_Write('\n');
common(del);
Usart_Write('\r');
Usart_Write('\n');
Delay_ms(1000);

while(1)
{
while (q1!=15)
{
while (!Usart_Data_Ready());
{
q1++;
status.f7=1;
read[q1]=Usart_Read();
status.f7=0;
if(q1==13)
goto ahead;
}


}
}
Usart_Write('\n');
ahead:
i=0;
k=0;

common(rmsg);
Usart_Write('\r');
Usart_Write('\n');
i=0;
usart();
common(cmgf);

if(q==3)
{

Usart_Write('\n');
k=0;
Usart_Write('\n');
x=1;
send1();
Usart_Write('\n');
if (q==3)
{
storegps();
i=0;
j=1;
k=lt;
Delay_ms(1000);
Usart_Write('\n');
if (jn2==1)
{
x=2;
send1();
Delay_ms(5000);
q1=0;
goto top;
}
}
else
{
Usart_Write('\r');
goto top;
}

}
else
{
Usart_Write('\r');
goto top;
}

}

void send1()
{
int jn=0;
while (1)
{
delay_ms(1000);
for (j=0;j<=20;j++)
{
Usart_Write(send[j]);
if (j==7)
{
Usart_Write('"');
}
if (j==20)
{
Usart_Write('"');
Usart_Write('\r');
}
}
switch(x)
{
case 1:

for (i=0;i<2;i++)
{
Usart_Write(on);
}

Usart_Write(g);
Usart_Write('\r');
Usart_Write('\n');
break;
case 2:
Usart_Write('\n');
data(par,0,5);
for(i=1;i<=27;i++)
{
Usart_Write(lat);
jn=i;
if(lat=='N')
break;
}
Usart_Write('\n');
data(par,6,11);
for(i=jn+2;i<=27;i++)
{
Usart_Write(lat);
jn=i;
if(lat=='E'||'W')
break;
}
Usart_Write('\n');
data(par,12,18);

for(i=jn+2;i<=27;i++)
{
Usart_Write(lat);
if(lat==',')
break;
{
Usart_Write('\r');
Usart_Write(g);
Usart_Write('\r');
Usart_Write('\n');
break;
}
}
break;
case 3:

for(i=0;i<=27;i++)
{

Usart_Write(not);

}
break;

}
break;
}
}

void data(char l[],int l1,int l2)
{
int qn;
for (qn=l1;qn<=l2;qn++)
{
Usart_Write(l[qn]);
}
}

void usart()
{
q=0;
while (1)
{
while (!Usart_Data_Ready());
{
read[q]=Usart_Read();
q++;
if(q==3)
{
if(read[2]=='*')
v=0;
break;
}
}
}
}
void storegps()
{
int mn=0,jn1=0,jn=0;

while (1)
{
do
{

ps[k]=Soft_Uart_Read(&a1); //this line

if(k==90)
{
Soft_Uart_Write(ps[k]);
}
// up to this correct
if (ps[k]==',')
{
co++;
}
if(ps[k]=='A')
{
lt=k;
mn=lt+1;
jn2=1;
}
if(jn2==1)
{
if(k>=mn&&k<(mn+29))
{
lat[jn]=ps[k];
jn++;
}

}
}while(a1);

if (co==8)

break;
k++;
}

}
void common (char cmn[])
{
for (n1=0;n1<10;n1++)
{
Usart_Write(msg[n1]);
if(n1==5)
Usart_Write(cmn[j]);
}
}



I know it's big program

When i increase the array size lat[30]- lat[40]; it shows a warning const truncated and it point to the line

ps[k]=Soft_Uart_Read(&a1);
 

hi

You declared ps unsigned.
Must declare as signed due result is negative.

PS.:
1 ) I sugest you edit the post and quote code section between
Code:
..[\CODE].
2 ) Also I sugest just post the section in wich error occurs in order to don´t waste forum resources and make easier to analyse.

:wink:

+++
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top