JavaScript轻应用硬件模块介绍

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 实例。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值