OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7890|回复: 11

stm32 自作一个32*32的点阵字库,遇到一个问题

[复制链接]

2

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2013-4-20
在线时间
0 小时
发表于 2013-4-20 21:58:07 | 显示全部楼层 |阅读模式

#ifndef _GB32_32_H
#define _GB32_32_H

typedef struct FNT_GB32Type
{
   unsigned char Index[2];
   unsigned char  Msk[64];
};

 

#endif


const struct FNT_GB32Type CodeGB_32[] =
{
"欢",
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x38,0x00,
0x00,0x00,0x30,0x00,0x00,0x08,0x30,0x00,0x7F,0xFC,0x60,0x00,0x20,0x18,0x60,0x00,
0x00,0x18,0x60,0x08,0x00,0x10,0x7F,0xFC,0x10,0x30,0xC0,0x18,0x08,0x30,0x88,0x30,
0x04,0x20,0x8E,0x20,0x06,0x61,0x0C,0x40,0x03,0x61,0x0C,0x00,0x01,0xC2,0x0C,0x00,
0x01,0xC0,0x0A,0x00,0x00,0xC0,0x1A,0x00,0x01,0xE0,0x1A,0x00,0x01,0x70,0x1A,0x00,
0x03,0x30,0x13,0x00,0x02,0x38,0x31,0x00,0x06,0x18,0x21,0x00,0x04,0x1C,0x61,0x80,
0x08,0x08,0x40,0x80,0x10,0x08,0xC0,0xC0,0x20,0x01,0x80,0x60,0x40,0x02,0x00,0x70,
0x00,0x0C,0x00,0x3C,0x00,0x10,0x00,0x18,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,/*"欢",0*/
"迎",
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x30,0x00,
0x06,0x00,0xE0,0x00,0x07,0x0B,0x00,0x10,0x03,0x0C,0x08,0x18,0x03,0x0C,0x0F,0xF0,
0x00,0x0C,0x0C,0x10,0x00,0x0C,0x0C,0x10,0x00,0x0C,0x0C,0x10,0x00,0x0C,0x0C,0x10,
0x03,0x0C,0x0C,0x10,0x3F,0x0C,0x0C,0x10,0x03,0x0C,0x0C,0x10,0x03,0x0C,0x0C,0x10,
0x03,0x0C,0x0C,0x10,0x03,0x0C,0x2C,0x10,0x03,0x0D,0xCC,0x10,0x03,0x0F,0x0C,0x10,
0x03,0x0E,0x0C,0xF0,0x03,0x0C,0x0C,0x30,0x03,0x00,0x0C,0x00,0x03,0x00,0x0C,0x00,
0x0C,0x80,0x0C,0x00,0x38,0x40,0x08,0x00,0x70,0x30,0x00,0x00,0x20,0x1F,0xFF,0xFC,
0x00,0x03,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"迎",1*/
"各",
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x1C,0x00,0x00,
0x00,0x38,0x04,0x00,0x00,0x3F,0xFE,0x00,0x00,0x60,0x0E,0x00,0x00,0xE0,0x0C,0x00,
0x00,0xD0,0x18,0x00,0x01,0x88,0x18,0x00,0x02,0x0C,0x30,0x00,0x04,0x06,0x60,0x00,
0x08,0x03,0xE0,0x00,0x00,0x01,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x06,0x70,0x00,
0x00,0x1C,0x3C,0x00,0x00,0x30,0x0F,0xC0,0x00,0xE0,0x03,0xFE,0x01,0xC0,0x06,0x70,
0x06,0xFF,0xFE,0x00,0x38,0xC0,0x06,0x00,0x00,0xC0,0x06,0x00,0x00,0xC0,0x06,0x00,
0x00,0xC0,0x06,0x00,0x00,0xC0,0x06,0x00,0x00,0xC0,0x06,0x00,0x00,0xC0,0x06,0x00,
0x00,0xFF,0xFE,0x00,0x00,0xC0,0x06,0x00,0x00,0xC0,0x04,0x00,0x00,0x00,0x00,0x00,/*"各",2*/
"位",
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x80,0x00,0x00,0xE0,0x60,0x00,
0x00,0xC0,0x30,0x00,0x00,0xC0,0x30,0x00,0x01,0x80,0x38,0x00,0x01,0x80,0x10,0x00,
0x03,0x00,0x00,0x30,0x03,0x3F,0xFF,0xF8,0x02,0x00,0x00,0x00,0x07,0x80,0x00,0x00,
0x07,0x00,0x00,0xC0,0x0F,0x04,0x01,0xC0,0x0B,0x04,0x01,0x80,0x13,0x02,0x01,0x80,
0x13,0x03,0x01,0x80,0x23,0x03,0x01,0x00,0x43,0x01,0x83,0x00,0x03,0x01,0x83,0x00,
0x03,0x01,0x82,0x00,0x03,0x01,0xC2,0x00,0x03,0x01,0x82,0x00,0x03,0x01,0x84,0x00,
0x03,0x00,0x04,0x00,0x03,0x00,0x04,0x00,0x03,0x00,0x08,0x00,0x03,0x00,0x08,0x18,
0x03,0x3F,0xFF,0xFC,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"位",3*/
"同",
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x10,
0x07,0xFF,0xFF,0xF8,0x04,0x00,0x00,0x30,0x04,0x00,0x00,0x30,0x04,0x00,0x00,0x30,
0x04,0x00,0x06,0x30,0x04,0xFF,0xFF,0x30,0x04,0x00,0x00,0x30,0x04,0x00,0x00,0x30,
0x04,0x00,0x00,0x30,0x04,0x00,0x08,0x30,0x04,0x1F,0xFE,0x30,0x04,0x10,0x0C,0x30,
0x04,0x10,0x0C,0x30,0x04,0x10,0x0C,0x30,0x04,0x10,0x0C,0x30,0x04,0x10,0x0C,0x30,
0x04,0x10,0x0C,0x30,0x04,0x1F,0xFC,0x30,0x04,0x10,0x0C,0x30,0x04,0x10,0x08,0x30,
0x04,0x00,0x00,0x30,0x04,0x00,0x00,0x30,0x04,0x00,0x00,0x30,0x04,0x00,0x04,0x30,
0x04,0x00,0x03,0xF0,0x0C,0x00,0x00,0xE0,0x08,0x00,0x00,0x40,0x00,0x00,0x00,0x00,/*"同",4*/
"学",
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x01,0x00,0x01,0x02,0x01,0x80,
0x01,0x83,0x03,0x80,0x00,0xC3,0x83,0x00,0x00,0xE1,0x86,0x00,0x00,0x61,0x84,0x00,
0x00,0x61,0x0C,0x00,0x00,0x00,0x08,0x18,0x0F,0xFF,0xFF,0xFC,0x0C,0x00,0x00,0x18,
0x0C,0x00,0x00,0x30,0x1C,0x00,0x00,0x40,0x18,0x00,0x06,0x00,0x01,0xFF,0xFF,0x00,
0x00,0x00,0x0C,0x00,0x00,0x00,0x10,0x00,0x00,0x01,0x60,0x00,0x00,0x01,0x80,0x10,
0x00,0x01,0x80,0x38,0x3F,0xFF,0xFF,0xFC,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,
0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,
0x00,0x1F,0x80,0x00,0x00,0x07,0x80,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,/*"学",5*/
};


在编译的时候,出现
..\HARDWARE\9325\GB32_32.h(26): error:  #144: a value of type "char *" cannot be used to initialize an entity of type "unsigned char"
这样的问题


而我在自作16*16的点阵字库时候就没有出现这样的情况,请各位大侠帮帮我找找问题,先在此谢谢啦

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-4-20 22:15:24 | 显示全部楼层
回复【楼主位】lxp911:
---------------------------------
你这16*16不出问题???
1个数组里面,即有字符串,还有数字,不报错???
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12062
金钱
12062
注册时间
2013-3-8
在线时间
1283 小时
发表于 2013-4-20 22:36:31 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
回复【楼主位】lxp911:
---------------------------------
是不会出问题的,你把结构体的无符号字符型改为有符号字符型就可以了。其他看不出来什么问题!
以下是我的部分字库,在MDK编译是没问题的。

// ------------------  汉字字模的数据结构定义 ------------------------ //
typedef struct                  // 汉字字模数据结构
{
       signed char Index[2];               // 汉字内码索引
       char Msk[32];                       // 点阵码数据
}typFNT_GB16;

/////////////////////////////////////////////////////////////////////////
// 汉字字模表                                                          //
// 汉字库: 宋体16.dot 纵向取模下高位,数据排列:从左到右从上到下         //
/////////////////////////////////////////////////////////////////////////
typFNT_GB16 const GB_16[] =          // 数据表
{
"开", 0x80,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,
      0x82,0x82,0xFE,0x82,0x83,0xC2,0x80,0x00,
      0x00,0x80,0x40,0x30,0x0F,0x00,0x00,0x00,
      0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,

"发", 0x00,0x10,0x18,0x16,0x10,0x90,0xF0,0x9F,
      0x90,0x90,0x92,0x94,0x10,0x18,0x10,0x00,
      0x40,0x20,0x90,0x88,0x46,0x41,0x23,0x14,
      0x08,0x14,0x22,0x21,0x40,0xC0,0x40,0x00,

"板", 0x10,0x10,0xD0,0xFF,0x90,0x10,0x00,0xFC,
      0x24,0xA4,0x24,0x22,0xA3,0x62,0x00,0x00,
      0x04,0x03,0x00,0xFF,0x40,0x21,0x18,0x47,
      0x20,0x13,0x0C,0x16,0x21,0x60,0x20,0x00,

"实", 0x10,0x0C,0x04,0x44,0x8C,0x94,0x35,0x06,
      0xF4,0x04,0x04,0x04,0x04,0x14,0x0C,0x00,
      0x02,0x82,0x82,0x42,0x42,0x23,0x12,0x0E,
      0x03,0x0A,0x12,0x22,0x42,0xC3,0x02,0x00,

"验", 0x02,0xFA,0x02,0x02,0xFF,0x42,0x20,0x50,
      0x4C,0x43,0x4C,0x50,0x20,0x60,0x20,0x00,
      0x10,0x31,0x11,0x49,0x89,0x7F,0x42,0x5C,
      0x40,0x4F,0x60,0x58,0x47,0x60,0x40,0x00,
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-4-20 23:11:25 | 显示全部楼层
回复【3楼】augustedward:
---------------------------------
抱歉,看错了结构体...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-4-21 07:50:06 | 显示全部楼层
2楼
我试过用char 可是还是有错
..\HARDWARE\9325\GB32_32.h(26): error:  #144: a value of type "char *" cannot be used to initialize an entity of type "char"
上面是编译的提示
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-4-21 10:02:11 | 显示全部楼层
改为:typedef struct FNT_GB32Type
{
   unsigned char Index[2];
   unsigned char  Msk[128];
};
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

153

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2013-4-4
在线时间
0 小时
发表于 2013-4-21 16:06:59 | 显示全部楼层
unsigned char Index[3];
~~~~ 欢迎讨论,拒绝谩骂 ~~~~
回复 支持 反对

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-4-21 20:51:37 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
谢谢,问题解决了。
回复 支持 反对

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-4-21 20:55:00 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
但是我今天又遇到一个新的问题,我自己自作了一个32*32的字库,但是我大概只能存放31个字,后面的字就没有办法显示,而且后面自作的字库,都会以最后一个字的形式显示,这是为什么?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-4-21 21:39:15 | 显示全部楼层
仿真跟踪一下看看吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2013-4-20
在线时间
0 小时
 楼主| 发表于 2013-4-21 21:59:49 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
谢谢,我找到问题了,实在太感谢了。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2015-6-23
在线时间
0 小时
发表于 2015-6-24 21:43:49 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
新手,刚按照上面的方法自己做了个小字库,请问怎样才能通过汉字找到点阵库呢?用flash 和sd卡更新字库的程序看不太懂
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 23:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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