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

Warning Message on the Output Window

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

Parents
  • 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
    }

    }
    }

Reply
  • 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
    }

    }
    }

Children