LCD-液晶显示器

LCD功能需配合硬件平台配套的LCD模块使用,驱动由C语言实现,JS层调用C接口实现LCD的初始化、绘图等操作。支持的硬件接口为4线SPI,分辨率为240*320,驱动IC为ST7789V、ILI9341等。本文介绍LCD-液晶显示器支持函数的参数说明及示例。

硬件平台

产品型号

是否支持

硬件类型

固件版本号

HaaS600Kit

开发板

4.0.1

HaaS510

DTU

4.0.1

HaaS520

DTU

4.0.1

HaaS530

DTU

4.0.1

HaaS531

DTU

4.0.1

HaaS632-LT32V

模组

4.0.1

HaaS600-EC600S

模组

4.0.1

HaaS600-EC600N

模组

4.0.1

HaaS600-EC600U

模组

4.0.1

HaaS600-N715

模组

4.0.1

open()

初始化LCD组件,创建LCD实例。

入参

无。

返回

LCD实例。

clear(Number color)

LCD以指定颜色清屏。

入参

Number类型,清屏颜色的十六进制值。

返回

无。

fill(Numeber x, Numeber y, Numeber width, Numeber height, Uint8Array data)

按起始坐标和宽、高填充LCD。

入参

属性

类型

描述

x

Numeber

x轴起始坐标。

y

Numeber

y轴起始坐标。

width

Numeber

x轴填充宽度。

height

Numeber

y轴填充高度。

data

Uint8Array

要填充的颜色数据。

返回

无。

displayOn()

LCD显示开。

入参

无。

返回

无。

displayOff()

LCD显示关。

入参

无。

返回

无。

示例代码

板级配置

板级详细配置说明,请参见app.json-全局配置文件

{
  "debugLevel": "DEBUG",
  "repl": "disable"
}

应用脚本

import * as lcd from 'lcd'

var ili9341 = lcd.open({
	success: function () {
		console.log('lcd open success');
	},
	fail: function () {
		console.log('lcd open fail');
	}
});

var red = 0xF800;
var green = 0x07E0;
var blue =  0x001F;
var white = 0xFFFF;
const w = 240;
const h = 320;
const size = w * h * 2;

function buf_prepare(color) {
	var buffer = new ArrayBuffer(size)
	var data = new Uint8Array(buffer);
	
	for (var i = 0; i < size; i = i + 2) {
		data[i] = (color >> 8);
		data[i+1] =(color & 0xff);
	}
	return data;
}

setInterval(() => {
	ili9341.fill(0, 0, w, h, buf_prepare(red));
	sleepMs(1000);
	
	ili9341.displayOff();
	sleepMs(1000);
	
	ili9341.displayOn();
	sleepMs(1000);
	
	ili9341.fill(0, 0, w, h, buf_prepare(green));
	sleepMs(1000);
	
	ili9341.fill(0, 0, w, h, buf_prepare(blue));
	sleepMs(1000);
}, 6000);