打印
[STM32F1]

12864汉字显示

[复制链接]
1772|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
st316|  楼主 | 2015-6-26 23:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 st316 于 2015-6-27 07:17 编辑

12864的LCD(ST7920)每一行可显示16个字符,假设这16个字符依次处于位置0123456789ABCDEF

请问,汉字可以在12这类非对齐的位置显示吗?



沙发
598330983| | 2015-6-26 23:54 | 只看该作者
可以的,需要字库,实际上以点阵图显示的

使用特权

评论回复
板凳
st316|  楼主 | 2015-6-27 07:15 | 只看该作者
它自身是自带字库的,你的意思是指不用这个字库,改手动取模,从而点阵显示吗?

使用特权

评论回复
地板
yklstudent| | 2015-6-27 09:35 | 只看该作者
画图模式下可以的

使用特权

评论回复
5
dirtwillfly| | 2015-6-27 20:52 | 只看该作者
没问题的

使用特权

评论回复
6
huzi2099| | 2015-6-28 11:05 | 只看该作者
本帖最后由 huzi2099 于 2015-6-28 11:09 编辑

图形模式就不需要说了,字库模式也是可以的,前提是必须从对齐地址的位置开始,空白位置需要空格填充

使用特权

评论回复
7
1220| | 2015-6-28 11:11 | 只看该作者
是可以的 ,我用过,试过

使用特权

评论回复
8
st316|  楼主 | 2015-6-28 21:19 | 只看该作者
本帖最后由 st316 于 2015-6-28 21:38 编辑
huzi2099 发表于 2015-6-28 11:05
图形模式就不需要说了,字库模式也是可以的,前提是必须从对齐地址的位置开始,空白位置需要空格填充 ...

假设如下函数可以将字符显示至x行y列:x可取值范围[0, 3], y可取值范围[0,8]
DisplayStr(uint8_t *buff, uit8_t x, uint8_t y)

你的意思是让我将 DisplayStr("请读卡", 2, 2) 在“请读卡”之前加一个空格,写成DisplayStr(" 请读卡", 2, 2)吗?

我尝试过,这样不行,结果是这三个字都不能正常显示了,乱码。

使用特权

评论回复
9
st316|  楼主 | 2015-6-28 21:21 | 只看该作者
1220 发表于 2015-6-28 11:11
是可以的 ,我用过,试过

请问你有什么好的方法?

使用特权

评论回复
10
st316|  楼主 | 2015-6-28 21:25 | 只看该作者

请求指点,谢谢!

使用特权

评论回复
11
st316|  楼主 | 2015-6-28 21:36 | 只看该作者
本帖最后由 st316 于 2015-6-28 21:38 编辑
st316 发表于 2015-6-28 21:19
假设如下函数可以将字符显示至x行y列:x可取值范围[0, 3], y可取值范围[0,8]
DisplayStr(uint8_t *buff,  ...

DisplayStr("请读卡", 2, 2)效果:


DisplayStr(" 请读卡", 2, 2)效果如下:

使用特权

评论回复
12
dirtwillfly| | 2015-6-28 22:10 | 只看该作者
st316 发表于 2015-6-28 21:36
DisplayStr("请读卡", 2, 2)效果:

模式设置的不对,这种是字符显示模式

使用特权

评论回复
13
qhp777| | 2015-6-29 07:01 | 只看该作者
空格要空2个,不然肯定出错

使用特权

评论回复
14
st316|  楼主 | 2015-6-29 09:25 | 只看该作者
qhp777 发表于 2015-6-29 07:01
空格要空2个,不然肯定出错

空2个空格,那就跟不空效果差不多了,这三个汉字照样不是居中对齐。

使用特权

评论回复
15
st316|  楼主 | 2015-6-29 09:27 | 只看该作者
dirtwillfly 发表于 2015-6-28 22:10
模式设置的不对,这种是字符显示模式

要设置为图形模式?不使用LCD的字库,自己手动对汉字取模?

使用特权

评论回复
16
huzi2099| | 2015-6-29 14:56 | 只看该作者
dirtwillfly 发表于 2015-6-28 22:10
模式设置的不对,这种是字符显示模式

半角字符可以输入,但是必须地址对齐,你可以"请读卡 1"却不能" 请读卡 ",汉字不能拆两半

使用特权

评论回复
17
st316|  楼主 | 2015-6-30 15:17 | 只看该作者
本帖最后由 st316 于 2015-6-30 15:22 编辑

看来只能用图形模式解决这问题了

使用特权

评论回复
18
尤彼卡| | 2015-6-30 15:20 | 只看该作者
模式设置的不对

使用特权

评论回复
19
st316|  楼主 | 2015-6-30 15:23 | 只看该作者
huzi2099 发表于 2015-6-29 14:56
半角字符可以输入,但是必须地址对齐,你可以"请读卡 1"却不能" 请读卡 ",汉字不能拆两半 ...

确实是这样的,多谢!

使用特权

评论回复
20
st316|  楼主 | 2015-7-28 14:36 | 只看该作者
ST7920:

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

167

帖子

3

粉丝