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.
Hi, I am a getting a message after compiling my program. The warning is written below. I checked the errors list and gives me the reason why this is happening. But as described below caller1 is "C_CSTARTUP". What does this mean? Thank you WARNING L15: MULTIPLE CALL TO SEGMENT SEGMENT: ?PR?_DELAY?MAIN CALLER1: ?C_C51STARTUP CALLER2: ?PR?INTERRUPT_PULSES?MAIN
Stefan here is the ISR. I changed the some of the variables for posting. But I do not see calling delay. "call function" in this a delay is called, but its delay2 and I am getting a warning the same as the other one I posted, but for delay2. The write functions do not include a delay, either does the min_power() void Interrupt_Pulses (void) interrupt 0 { PCON = 0x18; //back to normal mode if (condition() == 1) { call Function(); } P_Counter++; if (P_Counter == 680) //680 pulses per liter { P_Counter = 0; Here--; pus = Here; EEPROMwrite(ADDR, pus); // write new value back to EEPROM pus >>= (0x08); //write high byte EEPROMwrite(ADDR1, pus); if (Here <= 10) { LED = 1; for (c = 0; c < 13000; c++) { //waste time and ; //do nothing } LED = 0; } if (Here == 0) { DOS = 1; for (c = 0; c < 12000; c++) { //waste timea and ; } DOS = 0; PCON = 0x10; Min_Power(); //go to sleep } } }
Have you looked at this knowledgebase article? http://www.keil.com/support/docs/805.htm Jon
Jon and Stefan, thank you very much. Problem fixed.