OpenEdv-开源电子网

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

0.96寸oled汉字显示函数

[复制链接]

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2017-8-19
在线时间
19 小时
发表于 2019-3-4 11:52:53 | 显示全部楼层 |阅读模式
本帖最后由 小灰灰的爱恋 于 2019-3-4 11:57 编辑

//在指定位置,显示一个12*12,16*16,24*24大小的汉字
//x,y :汉字的坐标
//index:汉字编号(在字库数组里面的编号)
//size:汉字尺寸
void OLED_ShowChinese2424(u16 x,u16 y,u8 index,u8 size)
{
        u8 temp,t,t1;
        u16 y0=y;
        u8 *dzk;   
        u8 csize=(size/8+((size%8)?1:0))*size;                                                         //汉字字节计算
        if(size == 12) dzk=(u8*)Chinese_1212[index];        //得到汉字编号对应的点阵库
        else if(size == 16)        dzk=(u8*)Chinese_1616[index];   //得到汉字编号对应的点阵库
        else if(size == 24) dzk=(u8*)Chinese_2424[index];   //得到汉字编号对应的点阵库
        for(t=0;t<csize;t++)
        {                                                                                                      
                temp=dzk[t];                                                        //得到点阵数据                          
                for(t1=0;t1<8;t1++)                                                        //按照从高位到低位的顺序画点
                {
                        if(temp&0x80)OLED_DrawPoint(x,y,1);
                        else OLED_DrawPoint(x,y,0);
                        temp<<=1;        
                        y++;
                        if((y-y0)==size)                                                        //对y坐标的处理,当y坐标距起始坐标差24个像素点,x坐标加1
                        {
                                y=y0;
                                x++;
                                break;
                        }
                }           
        }         
}

1551671424376.jpg

实验12 OLED(GPIO模拟SPI驱动).zip

2.95 MB, 下载次数: 1096

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

使用道具 举报

4

主题

173

帖子

0

精华

高级会员

Rank: 4

积分
637
金钱
637
注册时间
2019-7-28
在线时间
59 小时
发表于 2022-12-22 13:23:21 | 显示全部楼层
有时基本都是第一个字不显示,然后又多显示一个我不想要的字。例如汉字库中有“温度测量单位”
我需要显示温度,结果为度测,需要显示测量,结果为量单有还显示3个字
回复 支持 1 反对 0

使用道具 举报

0

主题

109

帖子

0

精华

初级会员

Rank: 2

积分
164
金钱
164
注册时间
2019-1-29
在线时间
4 小时
发表于 2019-3-4 14:58:48 | 显示全部楼层
谢谢分享!
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2019-5-1
在线时间
4 小时
发表于 2019-5-2 22:50:30 | 显示全部楼层
想问一下这个汉字编号对应的点矩阵在哪里查啊
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2019-5-18
在线时间
8 小时
发表于 2019-10-21 23:10:39 | 显示全部楼层
谢谢,很方便
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2019-5-16
在线时间
9 小时
发表于 2019-12-2 20:31:55 | 显示全部楼层
太感谢了
回复 支持 反对

使用道具 举报

2

主题

474

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6084
金钱
6084
注册时间
2018-6-27
在线时间
524 小时
发表于 2019-12-21 10:14:08 | 显示全部楼层
学习学习,学习学习。
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2020-7-4
在线时间
16 小时
发表于 2020-7-7 18:36:26 | 显示全部楼层
感谢作者,把里面的一些程序改了就可以用在MINISTM32上了,汉字显示正常:
回复 支持 反对

使用道具 举报

2

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2020-7-19
在线时间
20 小时
发表于 2020-7-21 22:18:35 | 显示全部楼层
为什么我的板子跑不了楼主的程序  需要修改什么才能运行
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2020-11-3
在线时间
25 小时
发表于 2020-11-17 21:47:09 | 显示全部楼层
793780222 发表于 2020-7-7 18:36
感谢作者,把里面的一些程序改了就可以用在MINISTM32上了,汉字显示正常:

请问OLED汉字显示那个程序需要改什么才能在MINI的板子上正常显示呢?我调好久了没弄出来,感谢感谢
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2020-12-6
在线时间
3 小时
发表于 2020-12-23 19:07:41 | 显示全部楼层
你的PCtoLCD2002是怎么设置的?可以分享一下嘛,我用软件做的开发板这三个字的跟你做的不一样
回复 支持 反对

使用道具 举报

4

主题

173

帖子

0

精华

高级会员

Rank: 4

积分
637
金钱
637
注册时间
2019-7-28
在线时间
59 小时
发表于 2022-11-23 22:24:09 | 显示全部楼层
我用了字符串显示,结果汉字找不到“\0”, 导致无法正常显示。最后还是简化成了你这样的定位方式了。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 19:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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