美文网首页Luat开源硬件
Luat实例教程:LCD例子详解

Luat实例教程:LCD例子详解

作者: Luat物联网通信模块 | 来源:发表于2018-03-23 13:23 被阅读81次

特别说明:只适用于有spi接口的模块,推荐使用Air202和Air800
1.硬件连线:选择标准SPI协议,对应的LCD与模块之间连线为:

Air模块 LCD

GND------------------- 地(GND)

SPI_CS-------------- 片选(CS)

SPI_CLK------------- 时钟(SCL)

SPI_DO---------------数据(SDA)

SPI_DI---------------- 数据/命令选择(DC)

VDDIO--------------- 电源(VCC)

UART1_CTS-------- 复位(RES)

注意:Air202早期的开发板,UART1的CTS和RTS的丝印反了,如果连接UART1_CTS屏幕不显示,则将RST连接到UART1_RTS

注意:要使用带UI的lod

2.将ui demo添加到IDE中,在lcd.lua中选择对应的lcd芯片,将其他不用的注释掉。

--[[
模块名称:lcd
模块功能:lcd适配接口
模块最后修改时间:2017.08.17
]]

--根据自己的lcd类型以及使用的spi引脚,打开下面的其中一个文件进行测试
--mono表示黑白屏,color表示彩屏
--standard_spi表示使用标准的SPI引脚,lcd_spi表示使用LCD专用的SPI引脚
require"mono_standard_spi_ssd1306"
--require"mono_standard_spi_st7567"
--require"color_standard_spi_st7735"
--require"mono_lcd_spi_ssd1306"
--require"mono_lcd_spi_st7567"
--require"color_lcd_spi_st7735"
--require"color_lcd_spi_gc9106"
module(...,package.seeall)

--LCD分辨率的宽度和高度(单位是像素)
WIDTH,HEIGHT,BPP = disp.getlcdinfo()
--1个ASCII字符宽度为8像素,高度为16像素;汉字宽度和高度都为16像素
CHAR_WIDTH = 8

--[[
函数名:getxpos
功能  :计算字符串居中显示的X坐标
参数  :
        str:string类型,要显示的字符串
返回值:X坐标
]]
function getxpos(str)
    return (WIDTH-string.len(str)*CHAR_WIDTH)/2
end

3.如果修改为自己想显示的内容,则可修改logo.lua文件。

--[[
模块名称:logo
模块功能:显示开机欢迎语和logo图片
模块最后修改时间:2017.08.08
]]

module(...,package.seeall)

require"uiwin"
require"prompt"
require"idle"

--清空LCD显示缓冲区
disp.clear()
if lcd.WIDTH==128 and lcd.HEIGHT==128 then
--显示logo图片
disp.putimage("/ldata/logo_"..(lcd.BPP==1 and "mono.bmp" or "color.png"),lcd.BPP==1 and 41 or 0,lcd.BPP==1 and 18 or 0)
else
--从坐标16,0位置开始显示"欢迎使用Luat"
disp.puttext("欢迎使用Luat",16,0)
--显示logo图片
disp.putimage("/ldata/logo_"..(lcd.BPP==1 and "mono.bmp" or "color.png"),lcd.BPP==1 and 41 or 1,lcd.BPP==1 and 18 or 33)
end
--刷新LCD显示缓冲区到LCD屏幕上
disp.update()

--5秒后,打开提示框窗口,提示"3秒后进入待机界面"
--提示框窗口关闭后,自动进入待机界面
sys.timer_start(prompt.open,5000,"3秒后","进入待机界面",nil,idle.open)

相关文章

  • Luat实例教程:LCD例子详解

    特别说明:只适用于有spi接口的模块,推荐使用Air202和Air8001.硬件连线:选择标准SPI协议,对应的L...

  • Luat实例教程:adc

    本示例实现的功能是:读取adc值。 1.在编辑工具建立一个test.lua的文件(不一定叫这个名字,用户可以自己随...

  • Luat实例教程:gpio

    本示例实现的功能是:IO输入输出以及串口中断回调函数的使用 1.在编辑工具建立一个test.lua的文件(不一定叫...

  • Luat实例教程:json

    本示例实现的功能是:json编解码测试demo项目 1.在编辑工具建立一个test.lua的文件(不一定叫这个名字...

  • Luat实例教程:远程修改LCD上二维码

    本教程目的:开发者通过MQTT协议远程发送内容,终端通过接收到的内容自动生成二维码。 lcd接线图参照lcd教程 ...

  • Luat实例教程:连接aliyun

    本示例实现的功能是:MQTT_TCP连接阿里云物联网后台的demo项目(华东2节点) 注意:在demo中,aliy...

  • Luat实例教程:sms短信

    本示例实现的功能是:短信发送以及读取demo !!!attention 1.在编辑工具建立一个test.lua的文...

  • Luat实例教程:pwm功能

    本示例实现的功能是:pwm功能demo项目 1.在编辑工具建立一个test.lua的文件(不一定叫这个名字,用户可...

  • Luat实例教程:mqtt协议

    本示例实现的功能是:mqtt连接,发布消息,掉线处理。 1.在编辑工具建立一个test.lua的文件(不一定叫这个...

  • Luat实例教程:http功能

    本示例实现的功能是:http功能测试 1.在编辑工具建立一个test.lua的文件(不一定叫这个名字,用户可以自己...

网友评论

    本文标题:Luat实例教程:LCD例子详解

    本文链接:https://www.haomeiwen.com/subject/wetxcftx.html