OpenEdv-开源电子网

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

自己做的汉字字模数组确始终只显示第一个汉字,什么原因?

[复制链接]

41

主题

96

帖子

0

精华

高级会员

Rank: 4

积分
659
金钱
659
注册时间
2017-12-4
在线时间
208 小时
发表于 2018-1-4 18:37:55 | 显示全部楼层 |阅读模式
使用的是阿波罗F429的开发板,我的是类似于字符一样自己用PCtoLCD2002做了个汉字字模数组,应为只需要使用极少数的汉字,
2018-01-04_182706.png


稍微做了一下修改:
2018-01-04_182735.png


2018-01-04_182756.png



最后在main中调了Show_Str(30,30,100,100,"abc开发板输入天下",16,0);
就显示如下效果:
QQ图片20180104183206.png



求大神什么原因能让其正常显示。





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

使用道具 举报

56

主题

343

帖子

0

精华

高级会员

Rank: 4

积分
977
金钱
977
注册时间
2016-3-8
在线时间
267 小时
发表于 2018-1-4 20:08:07 | 显示全部楼层
Show_Font函数没改好,汉字都没内码匹配,怎么找的到?
回复 支持 反对

使用道具 举报

56

主题

343

帖子

0

精华

高级会员

Rank: 4

积分
977
金钱
977
注册时间
2016-3-8
在线时间
267 小时
发表于 2018-1-4 20:18:38 | 显示全部楼层
自定义字摸给你个思路。首先用一个数组保存自己定义字符的内码如u8 ZF[]={"我爱单片机"};,然后根据这个顺序生成一个字摸数组
u8 ZM[]={oxFF。。。。。。。//我                              
                oxFF。。。。。。。//爱
。。。
}
在写一个内码匹配,假如我要找“爱”,就用“爱”的内码到ZF[]中匹配,发现第二个汉字内码对上了,就说明“爱”是在ZM[]中的第二个字摸。
回复 支持 反对

使用道具 举报

41

主题

96

帖子

0

精华

高级会员

Rank: 4

积分
659
金钱
659
注册时间
2017-12-4
在线时间
208 小时
 楼主| 发表于 2018-1-5 09:12:22 | 显示全部楼层
pdwdzz 发表于 2018-1-4 20:18
自定义字摸给你个思路。首先用一个数组保存自己定义字符的内码如u8 ZF[]={"我爱单片机"};,然后根据这个顺 ...

你那有相关代码吗?我是新手不太会弄,都是跟着教程在慢慢学在,求指教!
回复 支持 反对

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2018-1-5 10:23:16 | 显示全部楼层
字库可以做成这个样子
{{0x40,0x20,0xF8,0x06,0x04,0x74,0x54,0x56,0x54,0x74,0x04,0x00,0x00,0x00,0x1F,0x00,0x03,0x05,0x15,0x1D,0x05,0x05,0x03,0x00},"停"},
{{0x08,0x10,0xFE,0x00,0x20,0x20,0xA0,0x7E,0xA0,0x24,0x28,0x00,0x02,0x01,0x1F,0x00,0x10,0x0C,0x03,0x00,0x03,0x0C,0x10,0x00},"状"},
{{0x88,0x88,0x48,0x28,0x18,0x4E,0x98,0x28,0x48,0x88,0x88,0x00,0x08,0x06,0x00,0x0E,0x10,0x11,0x16,0x10,0x18,0x02,0x0C,0x00},"态"},
{{0x00,0xF2,0x04,0x40,0x40,0x44,0xF4,0x44,0x44,0x04,0xFC,0x00,0x00,0x1F,0x00,0x04,0x02,0x09,0x0F,0x00,0x10,0x10,0x1F,0x00},"闭"},
{{0x00,0xF8,0xAA,0xAC,0xA8,0xF8,0xA8,0xAC,0xAA,0xF8,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x1F,0x02,0x02,0x02,0x02,0x02,0x00},"单"},
{{0xF8,0x48,0x48,0x48,0xFE,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,0x07,0x02,0x02,0x02,0x0F,0x12,0x12,0x12,0x13,0x10,0x1C,0x00},"电"},
{{0x04,0x04,0x04,0x84,0x44,0xE4,0x1C,0x44,0x84,0x04,0x04,0x00,0x02,0x02,0x01,0x00,0x00,0x1F,0x00,0x00,0x00,0x01,0x02,0x00},"不"},
{{0x00,0x3E,0x22,0x22,0x22,0xE2,0x22,0x22,0x22,0x3E,0x00,0x00,0x10,0x08,0x07,0x08,0x10,0x1F,0x11,0x11,0x11,0x11,0x10,0x00},"足"},
{{0x44,0x88,0x00,0x10,0x10,0x12,0xF4,0x10,0x10,0x10,0x00,0x00,0x08,0x04,0x10,0x11,0x11,0x11,0x1F,0x11,0x11,0x11,0x10,0x00},"注"},
{{0x80,0xFC,0x84,0x84,0xFC,0x80,0xFC,0x84,0x84,0xFC,0x80,0x00,0x10,0x0F,0x00,0x10,0x1F,0x10,0x0F,0x00,0x10,0x1F,0x00,0x00},"册"},
{{0x24,0xC4,0x04,0xC4,0x3C,0x00,0x3C,0xC4,0x04,0xC4,0x3C,0x00,0x10,0x0C,0x03,0x0C,0x00,0x10,0x08,0x04,0x03,0x0C,0x10,0x00},"双"},
{{0x00,0xFC,0x24,0x24,0xE2,0x00,0xFC,0x24,0x24,0xE2,0x22,0x00,0x10,0x0F,0x01,0x01,0x13,0x08,0x07,0x00,0x00,0x1F,0x00,0x00},"所"},
{{0x88,0x48,0xE8,0xB8,0xAE,0xA8,0xA8,0xA8,0xA8,0xE8,0x08,0x00,0x00,0x00,0x1F,0x02,0x02,0x02,0x02,0x02,0x12,0x1F,0x00,0x00},"有"},
{{0x18,0x48,0x28,0x18,0x0A,0x0C,0x08,0x18,0x28,0x48,0x18,0x00,0x10,0x11,0x11,0x11,0x11,0x1F,0x11,0x11,0x11,0x11,0x10,0x00},"空"},
{{0x04,0x04,0x04,0x84,0x44,0xE4,0x1C,0x44,0x84,0x04,0x04,0x00,0x02,0x02,0x01,0x00,0x00,0x1F,0x00,0x00,0x00,0x01,0x02,0x00},"不"},
{{0x00,0x3E,0x22,0x22,0x22,0xE2,0x22,0x22,0x22,0x3E,0x00,0x00,0x10,0x08,0x07,0x08,0x10,0x1F,0x11,0x11,0x11,0x11,0x10,0x00},"足"},
{{0x44,0x88,0x00,0x90,0x52,0x32,0x9E,0x12,0x32,0x52,0x90,0x00,0x08,0x04,0x02,0x08,0x04,0x10,0x1F,0x02,0x0C,0x02,0x0C,0x00},"添"},
{{0x10,0x10,0xFE,0x10,0x10,0xF0,0x00,0xF8,0x08,0x08,0xF8,0x00,0x10,0x0C,0x03,0x10,0x10,0x0F,0x00,0x1F,0x08,0x08,0x1F,0x00},"加"},
{{0x24,0x24,0xD4,0x4C,0x44,0x7E,0x44,0x4C,0xD4,0x24,0x24,0x00,0x10,0x10,0x17,0x15,0x15,0x15,0x15,0x15,0x17,0x10,0x10,0x00},"查"},
{{0x22,0xE4,0x10,0x08,0xF6,0x94,0x94,0x94,0xF4,0x04,0xFC,0x00,0x00,0x0F,0x04,0x00,0x0F,0x04,0x04,0x04,0x17,0x10,0x0F,0x00},"询"},
回复 支持 反对

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2018-1-5 10:25:23 | 显示全部楼层
声明一个 结构体 可以是这样子

typedef struct
{
        uc                                addr[24];
        uc *                        index;
} __myhz12x12;
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-4-9
在线时间
2 小时
发表于 2018-1-16 08:06:40 | 显示全部楼层
学习了。感谢分享经验。
回复 支持 反对

使用道具 举报

13

主题

76

帖子

0

精华

高级会员

Rank: 4

积分
539
金钱
539
注册时间
2016-4-19
在线时间
139 小时
发表于 2018-1-18 10:47:01 | 显示全部楼层
你的show_font()函数中的t都是从0开始的,对应在HZ_16X16[t]中的t都是对应的0-csize,所以会一直显示“开”,应该再增加一个变量,在显示完一个汉字后t+=csize.
回复 支持 反对

使用道具 举报

2

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2015-1-7
在线时间
41 小时
发表于 2018-1-18 10:50:12 | 显示全部楼层
应该像5楼那样,做成二维数组
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-19 23:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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