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.
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
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...
sir, that is equal to one(AT+CMGF = 1)..my friend types wrong in thread..but in coding we have done tht...u just tell, how we should avoid tht error of multiple public definition and un called segment...
Then,what should we do sir??
Maybe look at all the examples you got installed together with the compiler - don't they seem to sometimes contain multiple C files, without using #include to compile them?
There are no "typing wrong in thread".
There are copy and paste.
The difference between typing and copying/pasting is that code that is typed is meaningless for us to look at. Why look at something that isn't identical to what the compiler will see? It's just a waste of our time to consider code that has been retyped. And the time spent retyping would be a waste of time for the one retyping it too...
Yes i got it.....thanks to all...
that is the big mistake i committed here... should not add #include to .c files....
Once again thks to all.... especially Per Westermark sir....
Regard Zakir
Don't have more than 1 (ie, "multiple") definition for each public symbol!!