代码地址:
https://gitee.com/WYW3541/OLED-UI
https://gitee.com/WYW3541/OLED-UI
前言:本工程整体框架参考了一位大佬的例程 (http://t.csdnimg.cn/9XjT2),但原作者使用的STM32CubeMX(一款由ST公司自己设计的图形化编程软件)此软件自动生成的代码都是基于HAL库的,而且其是专为ST公司自己生产的芯片所设计的,和其他芯片(如国产)具有一定技术壁垒,所以一般本人使用较少......扯远了,回到正题,由于个人习惯,笔者就在原作者的基础上做了一个标准库的移植,以正点原子的OLED显示实验为工程框架,在正点原子的MINI板上将原工程以标准库实现。(本项目源码在本文末尾进行开源!)
硬件实物图:
效果图:
温度计:
游戏机:
引脚连接:
OLED模块:
VCC --> 3.3V
GND --> GND
SCL --> PA2
SDA --> PA1
DHT11模块:
DATA --> PA11
VCC --> 3.3V
GND --> GND
KEY模块(这部分笔者直接使用了正点原子MINI板上的):
KEY0 --> PA15
KEY1 --> PC5
KEY_UP --> PA0
一、多级菜单
随着工业化和自动化的发展,如今基本上所有项目都离不开显示终端。而多级菜单更是终端显示项目中必不可少的组成因素,其实TFT-LCD屏幕上可以借鉴移植很多优秀的开源多级菜单(GUI,比如:LVGL),而0.96寸的OLED屏幕上通常需要自己去适配和编程多级菜单。网上的普遍采用的多级菜单的方案是基于索引或者结构树,其中,索引法居多。索引法的优点:可阅读性好,拓展性也不错,查找的性能差不多是最优,就是有点占用内存空间。
说明:本项目的多级菜单也是采用了索引法进行实现。
二、索引法多级菜单,内部功能,代码实现
建议直接去看原作者的讲解,非常Nice http://t.csdnimg.cn/9XjT2
三、演示视频
STM32F103OLED多级菜单演示
四、总结与代码开源
总结:
HAL库到标准库的移植,主要采用了原作者的工程中的菜单和OLED的驱动文件,如果有想自己尝试移植的朋友们,有什么问题的话可以私信我。