Appearance
模块导入
javascript
import driversControl from '@ohos.driversControl';
GpioLevel
名称 | 说明 |
---|---|
LOW | GPIO低电平 |
HIGH | GPIO高电平 |
GpioType
名称 | 说明 |
---|---|
DI | DI口,GPIO输入 |
DO | DO口,GPIO输出 |
UartConfig
名称 | 类型 | 说明 |
---|---|---|
baudrate | number | 波特率 |
databits | number | 数据位 |
stopbits | number | 停止位 |
parity | number | 校验位 |
flowCtrl | number | 流控制 |
constructGpioControlInstance
创建一个GPIO控制对象
javascript
let gpioControl = driversControl.constructGpioControlInstance();
open
初始化并打开指定序号的GPIO引脚。结果通过Promise异步回调方式返回。
open(pin: number, type: GpioType): Promise<void>
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
pin | number | 是 | DI/DO引脚序号,DI有效值[1, 8], DO有效值[1, 16] |
type | GpioType | 是 | GPIO类型,DI:代表DI口,DO:代表DO口 |
返回值:
类型 | 说明 |
---|---|
Promise<void> |
示例:
javascript
gpioControl.open(1, GpioType.DO).then(() => {
console.log("gpioControl open promise");
});
open
初始化并打开指定序号的GPIO引脚。结果通过callback异步回调方式返回。
open(pin: number, type: GpioType, callback: AsyncCallback<void>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
pin | number | 是 | DI/DO引脚序号,DI有效值[1, 8], DO有效值[1, 16] |
type | GpioType | 是 | GPIO类型,DI:代表DI口,DO:代表DO口 |
callback | AsyncCallback<void> | 是 | Callback回调 |
示例:
javascript
gpioControl.open(1, GpioType.DO, () => {
console.log("gpioControl open callback");
});
close
关闭指定序号的GPIO引脚。结果通过Promise异步回调方式返回。
close(pin: number, type: GpioType): Promise<void>
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
pin | number | 是 | DI/DO引脚序号,DI有效值[1, 8], DO有效值[1, 16] |
type | GpioType | 是 | GPIO类型,DI:代表DI口,DO:代表DO口 |
返回值:
类型 | 说明 |
---|---|
Promise<void> |
示例:
javascript
gpioControl.close(1, GpioType.DO).then(() => {
console.log("gpioControl close promise");
});
close
关闭指定序号的GPIO引脚。结果通过callback异步回调方式返回。
close(pin: number, type: GpioType, callback: AsyncCallback<void>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
pin | number | 是 | DI/DO引脚序号,DI有效值[1, 8], DO有效值[1, 16] |
type | GpioType | 是 | GPIO类型,DI:代表DI口,DO:代表DO口 |
callback | AsyncCallback<void> | 是 | Callback回调 |
示例:
javascript
gpioControl.close(1, GpioType.DO, () => {
console.log("gpioControl close callback");
});
write
此接口仅对DO口引脚有效,用于向指定的GPIO引脚序号写入高/低电平。结果通过Promise异步回调方式返回。
write(pin: number, level: GpioLevel): Promise<void>
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
pin | number | 是 | DI/DO引脚序号,DI有效值[1, 8], DO有效值[1, 16] |
level | GpioLevel | 是 | 高低电平枚举 |
返回值:
类型 | 说明 |
---|---|
Promise<void> |
示例:
javascript
gpioControl.write(1, GpioLevel.HIGH).then(() => {
console.log("gpioControl write promise");
});
write
此接口仅对DO口引脚有效,用于向指定的GPIO引脚序号写入高/低电平。结果通过callback异步回调方式返回。
write(pin: number, level: GpioLevel, callback: AsyncCallback<void>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
pin | number | 是 | DI/DO引脚序号,DI有效值[1, 8], DO有效值[1, 16] |
level | GpioLevel | 是 | 高低电平枚举 |
callback | AsyncCallback<void> | 是 | Callback回调 |
示例:
javascript
gpioControl.write(1, GpioLevel.HIGH, () => {
console.log("gpioControl write callback");
});
read
用于读取指定GPIO引脚序号的电平状态。结果通过Promise异步回调方式返回。
read(pin: number, type: GpioType): Promise<GpioLevel>
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
pin | number | 是 | DI/DO引脚序号,DI有效值[1, 8], DO有效值[1, 16] |
type | GpioType | 是 | GPIO类型,DI:代表DI口,DO:代表DO口 |
返回值:
类型 | 说明 |
---|---|
Promise<GpioLevel> |
示例:
javascript
gpioControl.read(1, GpioType.DI).then((gpioLevel: GpioLevel) => {
console.log("gpioControl read promise status:" + gpioLevel);
});
read
用于读取指定GPIO引脚序号的电平状态。结果通过callback异步回调方式返回。
read(pin: number, type: GpioType, callback: AsyncCallback<GpioLevel>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
pin | number | 是 | DI/DO引脚序号,DI有效值[1, 8], DO有效值[1, 16] |
type | GpioType | 是 | GPIO类型,DI:代表DI口,DO:代表DO口 |
callback | AsyncCallback<GpioLevel> | 是 | Callback回调 |
示例:
javascript
gpioControl.read(1, GpioType.DI, (gpioLevel: GpioLevel) => {
console.log("gpioControl read callback status:" + gpioLevel);
});
constructUartControlInstance
constructUartControlInstance(): UartControl
创建一个UART控制对象。
返回值:
类型 | 说明 |
---|---|
UartControl |
示例:
javascript
let uartControl = driversControl.constructUartControlInstance();
open
根据指定的config配置信息,打开指定端口的串口。结果通过Promise异步回调方式返回。
open(port: number, config: UartConfig): Promise<void>
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
port | number | 是 | UART串口端口号,有效值范围[1,12] |
config | UartConfig | 是 | 串口配置信息 |
返回值:
类型 | 说明 |
---|---|
Promise<void> |
示例:
javascript
let config: UartConfig = {
baudrate: 115200,
databits: 8,
stopbits: 1,
parity: 0,
flowCtrl: 0
}
uartControl.open(1, config).then(() => {
console.log("uartControl open promise");
});
open
根据指定的config配置信息,打开指定端口的串口。结果通过callback异步回调方式返回。
open(port: number, config: UartConfig, callback: AsyncCallback<void>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
port | number | 是 | UART串口端口号,有效值范围[1,12] |
config | UartConfig | 是 | 串口配置信息 |
callback | AsyncCallback<void> | 是 | Callback回调 |
示例:
javascript
let config: UartConfig = {
baudrate: 115200,
databits: 8,
stopbits: 1,
parity: 0,
flowCtrl: 0
}
uartControl.open(1, config, () => {
console.log("uartControl open callback");
});
close
关闭指定端口号的串口。结果通过Promise异步回调方式返回。
close(port: number): Promise<void>
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
port | number | 是 | UART串口端口号,有效值范围[1,12] |
返回值:
类型 | 说明 |
---|---|
Promise<void> |
示例:
javascript
uartControl.close(1).then(() => {
console.log("uartControl close promise");
});
close
关闭指定端口号的串口。结果通过callback异步回调方式返回。
close(port: number, callback: AsyncCallback<void>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
port | number | 是 | UART串口端口号,有效值范围[1,12] |
callback | AsyncCallback<void> | 是 | Callback回调 |
示例:
javascript
uartControl.close(1, () => {
console.log("uartControl close callback");
});
send
向指定端口的串口发送信息。结果通过Promise异步回调方式返回。
send(port: number, message: string): Promise<void>
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
port | number | 是 | UART串口端口号,有效值范围[1,12] |
message | string | 是 | 需要发送的字符串信息 |
返回值:
类型 | 说明 |
---|---|
Promise<void> |
示例:
javascript
uartControl.send(1, "Hello World!").then(() => {
console.log("uartControl send promise");
});
send
向指定端口的串口发送信息。结果通过callback异步回调方式返回。
send(port: number, message: string, callback: AsyncCallback<void>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
port | number | 是 | UART串口端口号,有效值范围[1,12] |
message | string | 是 | 需要发送的字符串信息 |
callback | AsyncCallback<void> | 是 | Callback回调 |
示例:
javascript
uartControl.send(1, "Hello World!", () => {
console.log("uartControl send callback");
});
on
订阅指定端口的串口数据。
on(port: number, callback: Callback<ArrayBuffer>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
port | number | 是 | UART串口端口号,有效值范围[1,12] |
callback | Callback<ArrayBuffer> | 是 | 回调接口,返回串口数据 |
示例:
javascript
uartControl.on(1, (buf) => {
console.log("uartControl on buf:" + JSON.stringify(buf));
});
off
取消指定端口的串口数据订阅。
off(port: number, callback?: Callback<ArrayBuffer>): void
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
port | number | 是 | UART串口端口号,有效值范围[1,12] |
callback | Callback<ArrayBuffer> | 是 | 回调接口,返回串口数据 |
示例:
javascript
uartControl.off(1, (buf) => {
console.log("uartControl off buf:" + JSON.stringify(buf));
});