数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 7508|回复: 19

[STM] 0.96_OLED大字符显示

[复制链接]
发表于 2019-3-25 22:31:41 | 显示全部楼层
本帖最后由 fryefryefrye 于 2019-3-25 22:41 编辑

你这是直接生成32×32的字模啊。耗费了存储空间。

我还是用的16×16的字模,不过在代码里面纵向和横向放大到两倍。耗费了CPU。
而且8×16的英文字符也可以放大显示的。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

发表于 2019-3-25 22:33:03 | 显示全部楼层
小茅 发表于 2019-2-22 18:41
像STM32这种内存比较大的可以直接建一个1024的char类型数组,用来存储整个屏幕显示的内容。这样的话可以用S ...

这种OLED,可以任意刷新一排8个点,不会影响其他的点,不会闪的。
回复 支持 反对

使用道具 举报

发表于 2019-3-25 22:35:11 | 显示全部楼层
cbcb4cb 发表于 2019-2-24 20:36
缩成4分1

uchar enlarge(uchar dat,cmd)

为啥你的代码这么短。我要写这么长?

//显示32x32的中文
void CN_SSD1306_Wire::ShowCN3232(unsigned char x, unsigned char y, unsigned char N)
{
        unsigned char wm=0;
        unsigned char i=0;
        unsigned int adder=32*N;

        unsigned int CN3232[32];

        for(wm = 0;wm < 32;wm++)
        {
                CN3232[wm] = 0;
                for(i = 0;i < 8;i++)
                {
                        CN3232[wm] = CN3232[wm] + (((((unsigned int)CN16x16[adder]>>i)&1)*3)<<(2*i));
                }
                adder += 1;       
        }

        IIC_SetPos(x , y);
        for(wm = 0;wm < 32;wm++)
        {
                WriteData(*((unsigned char*)(&CN3232[wm/2])));
        }


        IIC_SetPos(x,y + 1);
        for(wm = 0;wm < 32;wm++)
        {
                WriteData(*(((unsigned char*)(&CN3232[wm/2]))+1));
        }

        IIC_SetPos(x , y+2);
        for(wm = 0;wm < 32;wm++)
        {
                WriteData(*(((unsigned char*)(&CN3232[wm/2+16]))));
        }


        IIC_SetPos(x,y + 3);
        for(wm = 0;wm < 32;wm++)
        {
                WriteData(*(((unsigned char*)(&CN3232[wm/2+16]))+1));
        }

}
回复 支持 反对

使用道具 举报

发表于 2019-3-26 08:42:24 | 显示全部楼层
cbcb4cb 发表于 2019-3-26 08:33
我是在单片机拿1kB,ram作显存,方便操作。
我的代码是将1个字节放大成两个字节,也就是纵向拉伸放大两倍 ...

我内存不够啊,16*16的字模放大之后,只用了64字节的局部变量,暂时存储1个32×32的汉字,然后写到显示屏,然后就释放了。
回复 支持 反对

使用道具 举报

发表于 2019-3-26 14:55:37 | 显示全部楼层
cbcb4cb 发表于 2019-3-26 13:21
单片机配置发一下

Arduino NANO.应该Mega 8 单片机吧。我也不大清楚。
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-22 01:35 , Processed in 0.093600 second(s), 9 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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