I was wondering why I would receive this error when I add the volatile keyword - I am new to embedded C but my understanding was that it just told the complier not to optimize the variable?
This code give me no errors
void display_text(char *dispString) { char myLcdBuffer[20]; U32 i; my_strcpy(myLcdBuffer, dispString); /* * Send the data to the LCD screen */ for (i = 0; i < strlen(myLcdBuffer); i++) { SER_PutCharLcd(myLcdBuffer[i]); } }
However if I add the volatile keyword to the char myLcdBuffer
void display_text(char *dispString) { volatile char myLcdBuffer[20]; U32 i; my_strcpy(myLcdBuffer, dispString); /* * Send the data to the LCD screen */ for (i = 0; i < strlen(myLcdBuffer); i++) { SER_PutCharLcd(myLcdBuffer[i]); } }
I get this error msg - error: #167: argument of type "volatile char *" is incompatible with parameter of type "const char *"
<quote>So you waited all the way until "Always yo're freind," before you decided to add some faked language errors.</quote>
Nope. Check his name.
Remember back to what I said before [to you] regarding this style.