1、前言
关于JavaScript轻应用的文档请参考:轻应用总览
为了便于开发者使用底层硬件的功能,轻应用里以JSAPI的形式对底层硬件接口做了封装。主要包含uart、gpio、adc、dac、pwm、i2c、spi、timer、rtc、watch dog等。
2、UART - 串口
示例代码
板级配置
板级详细配置说明见:app.json - 全局配置文件说明
{
"io": {
"serial1":{
"type":"UART",
"port":2,
"dataWidth":8,
"baudRate":115200,
"stopBits":0,
"flowControl":"disable",
"parity":"none"
}
},
"debugLevel": "DEBUG"
}
业务脚本
var uart = require('uart');
var msgbuf = 'this is amp uart test'
// uart open
var serial = uart.open({
id: 'serial1'
});
// uart write
serial.write(msgbuf);
// uart read
var value = serial.read();
console.log('sensor value is ' + value);
// uart data event
serial.on('data', function(data) {
console.log('uart receive data is ' + data);
});
// uart close
serial.close();
open(Object options)
打开串口,创建 UART 实例。
入参
Object类型,属性如下:
属性 |
类型 |
必填 |
描述 |
id |
String |
是 |
在app.json中定义的UART id名称 |
返回
- UART 串口实例,为空代表创建失败。
UART 实例
事件:'data'
当串口接收到新数据时,会触发'data'
事件,'data'
事件回调函数参数:
参数 |
类型 |
必填 |
描述 |
data |
ArrayBuffer |
是 |
串口接收到的数据 |
UART.write(String|ArrayBuffer data)
发送串口数据,该函数为阻塞函数,串口发送完成后才会返回。
入参
参数 |
类型 |
必填 |
描述 |
data |
String或ArrayBuffer |
是 |
需要发送到串口的数据 |
UART.read(Number bytes)
主动读取指定bytes的串口数据。
入参
参数 |
类型 |
必填 |
描述 |
bytes |
Number |
是 |
需要读取的字节个数 |
返回值
- 读取到的串口数据,ArrayBuffer类型,如果没有数据,则返回空数组。
UART.close()
关闭串口实例。
UART.on(String event, Function cb)
监听串口事件。
3、GPIO
示例代码
板级配置
板级详细配置说明见:app.json - 全局配置文件说明
{
"io": {
"led": {
"type": "GPIO",
"port": 23,
"dir": "output",
"pull": "pullup"
},
"key": {
"type": "GPIO",
"port": 25,
"dir": "input",
"pull": "pullup",
"intMode": "rising"
}
},
"debugLevel": "DEBUG"
}
业务脚本
var gpio = require('gpio');
// led
var led = gpio.open({
id: 'led'
});
// set led gpio level
led.writeValue(1);
led.readValue();
led.writeValue(0);
led.readValue();
// led toggle
led.toggle();
// key
var key = gpio.open({
id: 'key'
});
//key trigger callback
key.onIRQ({
trigger: 'rising',
cb: function() {
console.log('key pressed\n');
}
});
// release led&key
led.close();
key.close();
open(Object options)
打开GPIO接口,创建 GPIO 实例。