I want to sent and receive Turkish characters to led panel in Keil , but when I try to sent and receive with switch case, I receive this error:
switch(c)
{ case 'A':adr=97;break; //correct
case 'Ü':adr=98;break; //error character too large for enclosing character literal type.
break;
} return adr;
}
error: character too large for enclosing character literal type.
What can I solve this problem? I set 'Encode in UTF 8 without signature' setting for encoding because I can not see some Turkish character in Encode in ANSI setting.
Thanks in advance.
In UTF-8 not all characters are represented by a single byte (as in ASCII), so "char cMayChar" can generally not be used for storage. Check web for more explanations.
Martin
Note that the of national characters is much bigger than to select a character set for the editor.
You both need to consider the character encoding - like if you need wide characters or need to use a multi-byte character set (like UTF-8). But you also need to consider if the display supports additional characters. Or if it supports that you upload bitmaps for a number of character code points.
So sending of national characters to a display is normally never something to discuss with the editor or compiler vendor - especially since the source code can handle arbitrary binary values in text strings by use of hexadecimal constants.