以上是参考文件
注意:这篇文章是基于原本U8g2的文件写下来的,标准库的同学注意转换,当然我这里也有(乐)。
OLED显示图像是一件很cool的事()。好的,启动!要不是因为校除选会考
一些配置(我用的是F411CEU6的板子和校科协的板子,大家的F401,F407也大差不差)
跟U8g2的那篇文章基本一致,可以跳过
好的,配置玩了
我们先显示一个自己创建的图像。
打开
是这个样子的:
点击选项,按照这个配置。
(其中点阵和索引可以先不用管)。
文件——新建——
确定;
然后开始乱涂乱画。
画完之后点击生成字模。(又乱画了一点)
这个东西
就是我们要的。
打开Keil
在Begin 0 下面加上
#define SIZE 1024
const uint8_t Img[SIZE] = {/*字模数组*/};
然后,把我们得到的数组,复制到这个Img数组中
这样。
最后在主函数中加上
u8g2_DrawXBMP(&u8g2,0,0,128,64,Img);
(原文中有u8g2_SendBuffer(&u8g2);局部刷新,但我这里前面显示被我注释掉了就不用了)
然后,烧录。。。
发现,没报错,但烧录失败了。(悲)
看了看代码。
感觉是Img数组明明是一维的但被活生生改成2维
于是把大括号去掉改成一维。
再烧录。。。
成功哩!
还蛮好看的。(喜)
然后做任意图像取模。(0—0)
找到一张好看的图。()
比如这张
下面方法就多了
你可以截取一个128*64的区域
也可以先缩小图像再截取
也可以直接缩小再补充
前两种都比较简单,直接看第三种
先用照片打开,把他变成黑白的。
以BMP保存,宽不能超128和高不能超64.
打开画图
创建一个128*64的画布
把图片导入进去。
以Bmp保存。
用PCtolcd2002打开
以后就一样的操作了。
成功烧录了,但这个颜色。。
是因为原图亮色太多了555
但也成功了不是吗?
补充:但如果想输出一个完美的图像
其他参数也是要改的
但也必须要先用对比度转为黑白再修改。
这个烧的就很好。(乐)
累了睡觉了
源代码马上发。
链接:https://pan.baidu.com/s/1CjrutVpnl4xAAcYp2B8QGA?pwd=1DA3
提取码:1DA3
2023.12.21
科协