void init_LCM(void) { write_inst(0x30); /*set function*/ write_inst(0x30); /*set function*/ write_inst(0x30); /*set function*/ write_inst(0x38); /*set 2 line*/ write_inst(0x08); /*off lcd*/ write_inst(0x01); /*clear lcd*/ write_inst(0x06); /*set input mode*/ write_inst(0x0e); /*enable lcd*/ } after compiler,i got main.c(11): error C129: missing ';' before 'void',i don't understand?
Here's a tidied up version of that mess you posted.
void init_LCM(void) { write_inst(0x30); /*set function*/ write_inst(0x30); /*set function*/ write_inst(0x30); /*set function*/ write_inst(0x38); /*set 2 line*/ write_inst(0x08); /*off lcd*/ write_inst(0x01); /*clear lcd*/ write_inst(0x06); /*set input mode*/ write_inst(0x0e); /*enable lcd*/ }
It means you've got an error.
error C129: missing ';' before 'void
What this means is that the compiler has found that you did not have a ';' in your code where you should have done.
main.c(11)
What this tells you is where in your code that the compiler realized there was something missing.
If the compiler gave information about what the error is and an indication of where the error is, it would make the programmers life so much easier.
Oh. What's that? It does!
... and if only there was somewhere in the manual that you could look-up the error codes
Oh, wait: http://www.keil.com/support/man/docs/c51/c51_c129.htm
and look at this picture to see how (s)he did it: www.danlhenry.com/.../keil_code.png
>>i got main.c(11): error C129: missing ';' before 'void',i don't understand?
Look at the code immediately *BEFORE* the stuff you posted, something is WRONG EARLIER.
Look for missing semi-colons, or braces.