[STM32F1] 12864汉字显示

[复制链接]
 楼主| 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 | 显示全部楼层
画图模式下可以的
dirtwillfly 发表于 2015-6-27 20:52 | 显示全部楼层
没问题的
huzi2099 发表于 2015-6-28 11:05 | 显示全部楼层
本帖最后由 huzi2099 于 2015-6-28 11:09 编辑

图形模式就不需要说了,字库模式也是可以的,前提是必须从对齐地址的位置开始,空白位置需要空格填充
1220 发表于 2015-6-28 11:11 | 显示全部楼层
是可以的 ,我用过,试过
 楼主| 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)吗?

我尝试过,这样不行,结果是这三个字都不能正常显示了,乱码。
 楼主| st316 发表于 2015-6-28 21:21 | 显示全部楼层
1220 发表于 2015-6-28 11:11
是可以的 ,我用过,试过

请问你有什么好的方法?
 楼主| st316 发表于 2015-6-28 21:25 | 显示全部楼层

请求指点,谢谢!
 楼主| 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)效果:
Pre.jpg

DisplayStr(" 请读卡", 2, 2)效果如下:
Now.png
dirtwillfly 发表于 2015-6-28 22:10 | 显示全部楼层
st316 发表于 2015-6-28 21:36
DisplayStr("请读卡", 2, 2)效果:

模式设置的不对,这种是字符显示模式
qhp777 发表于 2015-6-29 07:01 | 显示全部楼层
空格要空2个,不然肯定出错
 楼主| st316 发表于 2015-6-29 09:25 | 显示全部楼层
qhp777 发表于 2015-6-29 07:01
空格要空2个,不然肯定出错

空2个空格,那就跟不空效果差不多了,这三个汉字照样不是居中对齐。
 楼主| st316 发表于 2015-6-29 09:27 | 显示全部楼层
dirtwillfly 发表于 2015-6-28 22:10
模式设置的不对,这种是字符显示模式

要设置为图形模式?不使用LCD的字库,自己手动对汉字取模?
huzi2099 发表于 2015-6-29 14:56 | 显示全部楼层
dirtwillfly 发表于 2015-6-28 22:10
模式设置的不对,这种是字符显示模式

半角字符可以输入,但是必须地址对齐,你可以"请读卡 1"却不能" 请读卡 ",汉字不能拆两半
 楼主| st316 发表于 2015-6-30 15:17 | 显示全部楼层
本帖最后由 st316 于 2015-6-30 15:22 编辑

看来只能用图形模式解决这问题了
尤彼卡 发表于 2015-6-30 15:20 | 显示全部楼层
模式设置的不对
 楼主| st316 发表于 2015-6-30 15:23 | 显示全部楼层
huzi2099 发表于 2015-6-29 14:56
半角字符可以输入,但是必须地址对齐,你可以"请读卡 1"却不能" 请读卡 ",汉字不能拆两半 ...

确实是这样的,多谢!
 楼主| st316 发表于 2015-7-28 14:36 | 显示全部楼层
ST7920:
2015-07-28_14-35-44.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

167

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部