vue 使用 Web Serial API 控制串口
https://web.dev/serial/ const arr = ref([]);//用来存储串口返回的数据 const lianjie = async () => { let port = await navigator.serial.requestPort();//用户选择串口设备 await port.open({ baudRate: 9600 });//打开 console.log(port, "port"); let reader = port.readable.getReader(); while (true) { let { value, done } = await reader.read(); SetObj(JSON.parse(JSON.stringify(value)));//返回的数据 } }; const SetObj = (val) => { for (let i in val) {//循环放入准备好的数组 arr.value.push(val[i]); } if (arr.value.length > 14) {//判断多少为为正确解析数量 let str = arr.value.slice(0, 14);//如果满足解析数量,裁剪掉 console.log(bin2String(str), "bin2String");//调用解析方法 } }; const bin2String = (arrBytes) => { // 字节数组转16进制 var str = ""; for (var i = 0; i < arrBytes.length; i++) { var tmp; var num = arrBytes[i]; if (num < 0) { // 此处填坑,当byte因为符合位导致数值为负时候,需要对数据进行处理 tmp = (255 + num + 1).toString(16); } else { tmp = num.toString(16); } if (tmp.length === 1) { tmp = "0" + tmp; } str += tmp; } return str; }; reader.cancel();//断开链接
本文来自博客园,作者:小万子呀,转载请注明原文链接:https://www.cnblogs.com/newBugs/p/16337681.html

浙公网安备 33010602011771号