找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机Keil C语言 中文编码数组提示字符串越界的解决方法

查看数: 2361 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-4-8 18:57

正文摘要:

我在群里下载了LCD显示例程: 麻烦哪位高手能给与指点,谢谢!

回复

ID:939553 发表于 2023-4-8 21:56
你应该是直接转化成0xd6,0xd0存储即可
ID:939553 发表于 2023-4-8 21:55
"中" 在存储时是这样的,0xD6,0XD0,0X00,是三个字节,导致你越界了
ID:94031 发表于 2023-4-8 20:51
wlhuang 发表于 2023-4-8 20:40
如果把中文索引去掉,就不会提示字符串越界~

中文索引放在注释里,不要出现在程序里。
ID:289218 发表于 2023-4-8 20:40
Hephaestus 发表于 2023-4-8 19:39
213行不要加typFNT_GB16类型,用char型,然后定义一个typFNT_GB16类型的指针指向这个数组就可以用了。

如果把中文索引去掉,就不会提示字符串越界~
ID:289218 发表于 2023-4-8 20:39
Hephaestus 发表于 2023-4-8 19:39
213行不要加typFNT_GB16类型,用char型,然后定义一个typFNT_GB16类型的指针指向这个数组就可以用了。

修改为:
uchar code GB_16[]=
{ // 显示为12*12

keil提示信息:
main.c(215): error C242: 'array[]': too many initializers
ID:289218 发表于 2023-4-8 19:51
Hephaestus 发表于 2023-4-8 19:39
213行不要加typFNT_GB16类型,用char型,然后定义一个typFNT_GB16类型的指针指向这个数组就可以用了。

谢谢!我马上试试~
ID:883242 发表于 2023-4-8 19:39
213行不要加typFNT_GB16类型,用char型,然后定义一个typFNT_GB16类型的指针指向这个数组就可以用了。
ID:289218 发表于 2023-4-8 18:59
例程部份代码如下:
typedef struct typFNT_GB16 // 汉字字模显示数据结构
{
uchar Index[2];//汉字内码索引
uchar Msk[24]; //点阵码数据
};

struct typFNT_GB16 code GB_16[]=
{ // 显示为12*12
"中",0x04,0x00,0x04,0x00,0x7F,0xC0,0x44,0x40,0x44,0x40,0x44,0x40,0x7F,0xC0,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00,
"文",0x08,0x00,0x04,0x40,0xFF,0xE0,0x11,0x00,0x11,0x00,0x11,0x00,0x0A,0x00,0x0A,0x00,0x04,0x00,0x1B,0x00,0xE0,0xE0,0x00,0x00,
"测",0x9E,0x20,0x52,0x20,0x12,0xA0,0x96,0xA0,0x56,0xA0,0x56,0xA0,0x56,0xA0,0xD6,0xA0,0x44,0xA0,0x4A,0x20,0x71,0x60,0x00,0x00,
"试",0x80,0xC0,0x40,0xA0,0x5F,0xE0,0x00,0x80,0xC0,0x80,0x4F,0x80,0x44,0x80,0x44,0x80,0x57,0xA0,0x6C,0x60,0x40,0x20,0x00,0x00,
"液",0x81,0x00,0x5F,0xE0,0x25,0x00,0x85,0xC0,0xAA,0x40,0x4E,0xC0,0x5A,0x40,0x49,0x80,0xC8,0x80,0x49,0x40,0x4E,0x20,0x00,0x00,
"晶",0x1F,0x80,0x10,0x80,0x1F,0x80,0x10,0x80,0x1F,0x80,0x00,0x00,0x7B,0xE0,0x4A,0x20,0x7B,0xE0,0x4A,0x20,0x7B,0xE0,0x00,0x00,
"显",0x3F,0x80,0x20,0x80,0x3F,0x80,0x20,0x80,0x3F,0x80,0x00,0x00,0x4A,0x40,0x2A,0x40,0x2A,0x80,0x0B,0x00,0xFF,0xE0,0x00,0x00,
"示",0x00,0x80,0x7F,0xC0,0x00,0x00,0x00,0x00,0xFF,0xE0,0x04,0x00,0x14,0x80,0x24,0x40,0x44,0x20,0x84,0x20,0x1C,0x00,0x00,0x00,};

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表