We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
dear friend,
i have function fSaveData. which is called at depth of 5
void fSaveData( uint8x_t* ucArray, uint16x_t uiStartAddress, uint16x_t uiTotal_Bytes,uint8x_t ucResetFlag)
{
uint16x_t aa; uint16x_t bb; uint8x_t cc; uint16x_t dd; uint16x_t ee; uint16x_t ee; uint16x_t ff; uint8_t gg[15]={0};
// code //code
// withing that function i am calling one more function, depth of 6 fWrite2eeprom(ucArray,uiStartAddress,ucCummBytes,uiIndex,ucResetFlag); //
}
as per http://www.keil.com/support/man/docs/c51/c51_le_funcparmsstack.htm c51 had given fixed addred to each variable. but when i called function fWrite2eeprom then my variable of function fSaveData get courrupts this is happning frequently.
this may be case of stack overflow. but in every courrption i got same value in XRAM fixed location.
please help me on this! please ask if my question is not clear
yogesh
Dear Erik,
My interrupt is triggers on every sec. so i don't want to update my variable before one sec. that's why i m calling this function at every 1 sec interrupt.
in groud loop its frequency of updation is very high, which i don't want.
But still all above question is alive?
if (gucOneMinuteCount != old....) { old... = gucOneMinuteCount; fTimeinSec() }
hi,
Now it looks some problem exist, and your suggesting work around.
And moreover we are not discussing about problem. why same address is assigned to procedure arrgument in interrupt?
now i'will not reply here, but if any body want to discuss then again i am avaiable.