UART - Shaofa/AliOS-Things-Certification-Manual GitHub Wiki
API
|
说明
|
UART.open(id)
|
功能:打开串口
参数: id:和板级配置文件中的id保持一致
返回值:返回资源handle
|
UART.read(handle,cb)
|
功能:从串口中读取数据
参数: handle:资源handle,为UART.open的返回值;
cb:读回调,返回读取状态值err和数据;
返回值:0=ok other=fail
|
UART.on(handle,cb)
|
功能:从串口中读取数据;
参数: handle:资源handle,为UART.open的返回值;
cb:监控回调,返回读取状态值err和数据;
返回值:0=ok other=fail
|
UART.write(handle,str)
|
功能:串口发送数据
参数: handle:资源handle,为UART.open的返回值;
str:待发送字符串
返回值:0=ok other=fail
|
UART.close(handle)
|
功能:关闭串口;
参数: handle:资源handle,为UART.open的返回值;
返回值:0=ok other=fail
|
参数名
|
类型/功能/值
|
说明
|
"id"
|
功能:资源唯一性标志
类型:string
值:任意,保持数组内id值唯一;
|
该id值和js层open时的id值保持一致;
|
"port"
|
功能:端口值;
类型:number
值:和板级资源描述保持一致;
|
该port值和HAL层API对应的port保持一致;
|
"data_width"
|
功能:串口数据宽度值;
类型:number
值:0=5bit;1=6bit;2=7bit;3=8bit; 4=9bit;
|
|
"baud_rate"
|
功能:串口波特率;
类型:number
值:用户自定义;
|
波特率值一般是常见的波特率值,对于特殊的波特率值,在设定前要确定芯片是否支持;
|
"stop_bits"
|
功能:串口停止位;
类型:number
值:0=1bit停止位; 1=2bit停止位;
|
一般是1bit停止位
|
"flow_control"
|
功能:串口流控制;
类型:number
值:0=禁止流控; 1=使能cts流控;2=使能rts流控;3=使能cts和rts流控;
|
|
"parity_config"
|
功能:串口奇偶校验
类型:number
值:0=无校验;1=奇校验;2=偶校验;
|
{
"UART":[
{
"id":"uart1",
"port":1,
"data_width":3,
"baud_rate":115200,
"stop_bits":0,
"flow_control":0,
"parity_config":0
},
{
"id":"uart2",
"port":2,
"data_width":3,
"baud_rate":115200,
"stop_bits":0,
"flow_control":0,
"parity_config":0
}
]
}
1)developerkit开发板; 2)FT232串口模块;
TX引脚 连接 FT232 的RX引脚; RX引脚 连接 FT232 的TX引脚; VCC引脚 连接 FT232 的VCC引脚; GND引脚 连接 FT232 的GND引脚;
/*apps/js/board_config.json*/
{
"UART":[
{
"id":"uart2",
"port":2,
"data_width":3,
"baud_rate":115200,
"stop_bits":0,
"flow_control":0,
"parity_config":0
}
]
}
var handle=UART.open('uart2');
if(handle>0){
var value = UART.write(handle,'hello\r\n');
UART.on(handle,function(data){
console.log(data);
});
} else {
console.log('open uart2 fail!');
}
FT232连接PC端的串口软件,可以进行数据的接收和发送。
1)ESP32开发板; 2)FT232串口模块;
EPS32 IO32引脚 连接 FT232 的RX引脚; EPS32 IO33引脚 连接 FT232 的TX引脚; ESP32 3.3v引脚 连接 FT232 的VCC引脚; ESP32 GND引脚 连接 FT232 的GND引脚;
/*apps/js/board_config.json*/
{
"UART":[
{
"id":"uart2",
"port":2,
"data_width":3,
"baud_rate":115200,
"stop_bits":0,
"flow_control":0,
"parity_config":0
}
]
}
/*js*/
print('start uart test.....................');
setInterval(function() {
var handle=UART.open('uart2');
if(handle>0){
var value = UART.write(handle,'hello\r\n');
UART.close(handle);
} else {
console.log('open uart2 fail!');
}
}, 2000);
print('end uart test........................');
FT232连接PC端的串口软件,可以进行数据的发送。 �