esp8266 OLED气象图标显示的来龙去脉

esp8266 OLED气象图标显示的来龙去脉


通过esp8266+128x64OLED气象站的气象图标显示,在之前像迷一样困惑我好久,这东西是怎么显示出来的,看遍了代码,也没看到出处,今天总算了结了。前面以前介绍了Return的调用图标,它们的指向都指向了:WeatherStationFonts.h
这个文件,然而里面都是一些16进制数值,很少有能释读的内容代码代码。其实这些代码是通过一个网站自动生成的图形库代码:http://oleddisplay.squix.ch/#/home

  • 选择自己所需要的FontFamily类型,然后选择好图形大小Size,即可生成所需要的代码了。
    在这里插入图片描述
    在这里插入图片描述

📘字库说明

  • 📌https://oleddisplay.squix.ch/
    从上面网址获取到的字库数据中,以下面部分内容进行说明:
// Created by http://oleddisplay.squix.ch/ Consider a donation
// In case of problems make sure that you are using the font file with the correct version!
const char Dialog_plain_16[] PROGMEM = {
	0x11, // Width: 17 代表该种字符集的宽度(但每个字符实际显示的宽度只会小于或等于它)
	0x13, // Height: 19 代表字符集的高度
	0x20, // First Char: 32 代表字符集的第一个字符的ASCII值(此处是从ASCII表中的空格开始,空格的ASCII为32)
	0xE0, // Numbers of Chars: 224 代表字符集的总共的字符个数(这里总共224个)

	// Jump Table:
	0xFF, 0xFF, 0x00, 0x05,  // 32:65535
	0x00, 0x00, 0x08, 0x06,  // 33:0
	0x00, 0x08, 0x0D, 0x06,  // 34:8
	0x00, 0x15, 0x22, 0x0D,  // 35:21
	0x00, 0x37, 0x1A, 0x0A,  // 36:55
	0x00, 0x51, 0x29, 0x0F,  // 37:81
	………………………………
// Font Data:
	0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x67,	// 33
	0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,	// 34
	0x00,0x00,0x00,0x00,0x08,0x00,0x80,0x08,0x00,0x80,0x78,0x00,0x80,0x1F,0x00,0xF0,0x09,0x00,0x90,0x48,0x00,0x80,0x7C,0x00,0xC0,0x0F,0x00,0xF0,0x08,0x00,0x80,0x08,0x00,0x80,	// 35
	0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x21,0x00,0x60,0x42,0x00,0x20,0x42,0x00,0xF8,0xFF,0x01,0x20,0x44,0x00,0x20,0x64,0x00,0x40,0x38,	// 36

其中:

  • 🌿跳转表(Jump Table):前两个字节表示字符字模所在该数组的起始位置(若为0xFF,0xFF这表示无),第三个则表示字模所占的字节数,最后一个表示其要显示的宽度(记录每个字符字模的实际的宽度).
	// Jump Table:
	0xFF, 0xFF, 0x00, 0x05,  // 32:65535
	0x00, 0x00, 0x08, 0x06,  // 33:0
	0x00, 0x08, 0x0D, 0x06,  // 34:8
	0x00, 0x15, 0x22, 0x0D,  // 35:21
	0x00, 0x37, 0x1A, 0x0A,  // 36:55
	0x00, 0x51, 0x29, 0x0F,  // 37:81

  • 🌿 字符子模(.Font Data):对应字符集里面的每个字符的字模数据。
	// Font Data:
	0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x67,	// 33
	0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,	// 34

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值