四针脚oled通过oled显示汉字图片。
参考哔站up【stm32+oled显示屏实验,30分钟让你快速了解并且输出内容】https://www.bilibili.com/video/BV1LB4y1A7ah?vd_source=046491acdcff4b39fed20406b36a93e2
下载压缩包打开,可以看到教程。
https://pan.baidu.com/s/1fDwuo13FTPzdHSXk4t5_-g
提取码:4455
有中景园提供的原码。在此基础上修改。
之前用的是江科大up的oled显示代码。
将中景园的几个文件复制到hardware和system即可
具体就是这几个文件。
找到文件后复制到对应的文件夹,注意复制后需要在软件添加文件路径。
随后主函数改为:
//
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//中景园电子
//店铺地址:http://shop73023976.taobao.com
//
// 文 件 名 : main.c
// 版 本 号 : v2.0
// 作 者 : HuangKai
// 生成日期 : 2018-10-31
// 最近修改 :
// 功能描述 : OLED I2C接口演示例程(STM32F103系列)
// 说明:
// ----------------------------------------------------------------
// GND 电源地
// VCC 3.3v电源
// D0 PA0(SCL)
// D1 PA1(SDA)
// RES PA2(SPI模块改成IIC模块需要接此引脚,IIC模块用户请忽略)
// ----------------------------------------------------------------
// 修改历史 :
// 日 期 :
// 作 者 : HuangKai
// 修改内容 : 创建文件
//版权所有,盗版必究。
//Copyright(C) 中景园电子2018-10-31
//All rights reserved
//******************************************************************************/
#include "delay.h"
#include "sys.h"
#include "oled.h"
#include "bmp.h"
int main(void)
{
u8 t=' ';
delay_init();
OLED_Init();
OLED_ColorTurn(0);//0正常显示,1 反色显示
OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示
while(1)
{
OLED_ShowPicture(0,0,128,64,BMP1,1);
OLED_Refresh();
delay_ms(500);
OLED_Clear();
OLED_ShowChinese(0,0,0,16,1);//中
OLED_ShowChinese(18,0,1,16,1);//景
OLED_ShowChinese(36,0,2,16,1);//园
OLED_ShowChinese(54,0,3,16,1);//电
OLED_ShowChinese(72,0,4,16,1);//子
OLED_ShowChinese(90,0,5,16,1);//技
OLED_ShowChinese(108,0,6,16,1);//术
OLED_ShowString(8,16,"ZHONGJINGYUAN",16,1);
OLED_ShowString(20,32,"2014/05/01",16,1);
OLED_ShowString(0,48,"ASCII:",16,1);
OLED_ShowString(63,48,"CODE:",16,1);
OLED_ShowChar(48,48,t,16,1);//显示ASCII字符
t++;
if(t>'~')t=' ';
OLED_ShowNum(103,48,t,3,16,1);
OLED_Refresh();
delay_ms(500);
OLED_Clear();
OLED_ShowChinese(0,0,0,16,1); //16*16 中
OLED_ShowChinese(16,0,0,24,1); //24*24 中
OLED_ShowChinese(24,20,0,32,1);//32*32 中
OLED_ShowChinese(64,0,0,64,1); //64*64 中
OLED_Refresh();
delay_ms(500);
OLED_Clear();
OLED_ShowString(0,0,"ABC",8,1);//6*8 “ABC”
OLED_ShowString(0,8,"ABC",12,1);//6*12 “ABC”
OLED_ShowString(0,20,"ABC",16,1);//8*16 “ABC”
OLED_ShowString(0,36,"ABC",24,1);//12*24 “ABC”
OLED_Refresh();
delay_ms(500);
OLED_ScrollDisplay(11,4,1);
}
}
下载运行。
对照这前文的链接视频,可以完成字库添加,图片显示。
也可以接着看,建议看视频。
打开取字模软件,跟着教程做
注意
两个箭头所指向的地方要修改一致。
生成字模后保存字模
打开保存的txt文件,复制到这里
(这里的数据是展示16*16的字体大小)
Hzk1 16
Hzk2 24
Hzk3 32
Hzk4 64。
这里的数字对应不同的汉字
和这里一一对应。
主函数内写
OLED_ShowChinese(5*16,0*16,16,16,1); //天 这是显示的汉字
OLED_Refresh(); 这是更新显存到OLED 。没有这个不会显示。
图片的话类似于汉字,但最后要加入到bmp.h文件夹。
取模软件只能打开.bmp格式的文件。所以可以用电脑自带的画图打开图片。
调整大小为128*64.
随后将图片另存为.bmp格式的文件,就可以用取字模的软件打开,随后可以参考教程。
资源里有原码,不知道能不能打开