DISP

本章将会向大家介绍LuatOS的DISP功能。将会实现使用Air101开发板驱动oled进行显示。

简介

DISP实际上是封装了部分U8G2的API进行显示,使大家能使用lua快速驱动oled

硬件准备

Air101开发板一块,0.96寸OLED

硬件连接图

(todo)

软件使用

接口文档可参考:disp库

代码介绍

function display_str(str)
    disp.clear()
    disp.drawStr(str, 1, 18)
    disp.update()
end

local function ui_update()
    disp.clear() -- 清屏
    disp.drawStr(os.date("%Y-%m-%d %H:%M:%S"), 1, 12) -- 写日期
    disp.drawStr("Luat@Air101" .. " " .. _VERSION, 1, 24) -- 写版本号
    disp.update()
end

-- 初始化显示屏
log.info("disp", "init ssd1306") -- log库是内置库,内置库均不需要require
disp.init({
    mode="i2c_sw",
    pin0=xx--[[按你板子改成自己的引脚编号]],
    pin1=xx--[[按你板子改成自己的引脚编号]],
}) -- 模拟i2c,pin0是SCL,pin1是SDA, 也可以用硬件i2c脚
disp.setFont(1) -- 启用中文字体,文泉驿点阵宋体 12x12
display_str("启动中 ...")

sys.taskInit(function()
    while 1 do
        sys.wait(1000)
        log.info("disp", "ui update", rtos.meminfo()) -- rtos是也是内置库
        ui_update()
    end
end)