ESP8266 MP3制作——u8g2库的使用

U8G2库

好几天没写博客了

这两天都在为ESP8266Audio的事苦恼,因为我虽然能在闪存里面播放mp3,但几乎一样的办法,却无法在播放sd卡里面的mp3,如果做不到这一点,MP3几乎是无望的(闪存太小了连一首歌都放不下)。接着就是我突然想起来如果要显示歌名,作者名,那很多情况下都是中文,但是之前那个库是使用不了中文的,所以我就只好放弃原来的库,改成用现在这个库U8G2
而且我测试加上求证后发现,SD卡模块是不能读取中文名的文件的,只要整个sd卡中存在一个以中文命名的文件,很多操作(如遍历文件名)都会出问题。所以要做mp3,需要映射!(这个以后再说)

选接口

打开U8G2后,很快你就会看到一大片注释,其中只有一行是你需要的,找到你对应的接口,删掉注释就行了。比如我(ESP8266 I2C OLED 0.96寸 128x64):

U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ 5, /* data=*/ 4, /* reset=*/ U8X8_PIN_NONE);

常见操作:

具体用法不多赘述,我分享几篇我觉得有帮助的文章(侵删):
知乎:链接
github:链接
很多函数在里面都可以直接找到,还有详细的注释

选字体

u8g2的强大还体现在它的庞大的字库,如果你装完了u8g2这个库,不妨打开你的u8g2库的clib目录(我的电脑中是:文档\Arduino\libraries\U8g2\src\clib\),里面有个u8g2.h文件,用记事本打开即可,在里面用查找功能搜索start font list,就能看到一堆字体,然后就是测试和选择了。
我试过的字体:

  • u8g2_font_unifont_t_symbols 常用
  • u8g2_font_wqy12_t_gb2312b 可以显示中文 wqy后面的数字越大,字号越大,具体有哪些数组可以直接到这个文件里面去看
  • u8g2_font_profont22_mr
  • u8g2_font_6x13_mn 这个似乎只能显示数组,我无法用它显示字母
    里面的字体少说有上千种,我能想到的就是去试,或者知道该字体的名字,去找对应的字库,其实没必要纠结,显示在OLED上都差不多,找个喜欢的用就可以了。

Selection List

显示列表。这个是非常强大的功能,我本来想自己做一个,没想到有现成的,在自带的examples里面找一下就能找到。值得注意的是,

u8g2.begin(/* menu_select_pin= */ 5, /* menu_next_pin= */ 4, /* menu_prev_pin= */ 2, /* menu_up_pin= */ U8X8_PIN_NONE, /* menu_down_pin= */ U8X8_PIN_NONE, /* menu_home_pin= */ 3);

这段代码放在setup函数中,我开始以为SDA和SCL的已经定义了,不需要这些参数,全部给删掉之后一直出现重启的情况。检查后才发现是这里忘记加了,改完就好了(如果所有参数都设置为U8X8_PIN_NONE不知道为什么也会一直重启)。
这个功能到底是干什么的,看看这个就知道了:

ESP8266 u8g2 Selection List

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值