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

L104 and L16

I am getting error like this...program is running fine,when all file made to one main file..bt problem while creating different file....can some one suggest,how to clear this.
linking...
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: LCD_INIT MODULE: lcd.obj (LCD)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: _LCD_STR MODULE: lcd.obj (LCD)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: _LCD_CMD MODULE: lcd.obj (LCD)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: _LCD_DATA MODULE: lcd.obj (LCD)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: _DELAY MODULE: lcd.obj (LCD)
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?_LCD_STR?LCD
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS SEGMENT: ?PR?LCD_INIT?LCD
Program Size: data=15.0 xdata=0 code=652

Parents
  • void gsm_send1()
            {
                    command("AT");
                    delay1();
                    command("AT+CMGF=1");
                    delay(65000);
                    delay(65000);
                    serial_transmit("AT+CMGS=");
                    serial_tx('"');
                    serial_transmit("9710362655");
                    serial_tx('"');
                    serial_tx(0x0d);
                    serial_tx(0x0a);
                    delay(65000);
                    delay(65000);
                    serial_transmit("Your Vehicle has been stopped");
                    serial_tx(0x0a);
                    delay(650);
                    serial_tx(0x1A);
                    delay(65000);
                    delay(65000);
            }
    

    This is a very bad approach!

    All AT commands give a response to indicate success or failure; you are ignoring these responses and just ploughing blindly on assuming success!!

    In addition, AT+CMGS gives a Prompt when it is ready for input...

Reply
  • void gsm_send1()
            {
                    command("AT");
                    delay1();
                    command("AT+CMGF=1");
                    delay(65000);
                    delay(65000);
                    serial_transmit("AT+CMGS=");
                    serial_tx('"');
                    serial_transmit("9710362655");
                    serial_tx('"');
                    serial_tx(0x0d);
                    serial_tx(0x0a);
                    delay(65000);
                    delay(65000);
                    serial_transmit("Your Vehicle has been stopped");
                    serial_tx(0x0a);
                    delay(650);
                    serial_tx(0x1A);
                    delay(65000);
                    delay(65000);
            }
    

    This is a very bad approach!

    All AT commands give a response to indicate success or failure; you are ignoring these responses and just ploughing blindly on assuming success!!

    In addition, AT+CMGS gives a Prompt when it is ready for input...

Children