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.
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.
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
View all questions in Keil forum