当前博客:桌面端-跨平台串口通信教学博客

532 次浏览【转载需注明来源】

博客作者:【快码FOF编程】

个性签名:寒窗苦读十年一朝凤舞九天

在快码编程中,提供了一个跨平台的串口通信库;使用该类库可以在windows、linux、mac系统中进行串口的通信;实现程序与硬件的交互~

注意:观看本博客时,请务必保证你是最新版的快码编程;否则无法正常使用串口支持库~

要使用该功能首先需要引用WEB串口库【创建网页项目、桌面端项目都可以使用,本博客推荐使用桌面端项目~】

引用了支持库后,你还需要准备一个串口设备,这里博客测试用的是一个串口继电器设备。

下单地址:串口店铺

注意:任意商家的任意串口设备都可以,你们可以自行去选择

上方的串口继电器分别在COM1、NO1接入了两条线,线的另外两端分别接入了灯泡和插头,接下来使用USB线将灯泡介入你的电脑设备【可以是电脑、linux-arm开发板等】

接下来我们就可以正式的进行开发了,首先第一步需要使用代码选择相关的串口设备:

异步 定义函数 初始化连接() {
    同步 串口对象.选择串口设备((ev) => {
        调试输出(ev);
    }, (ev) => {
        调试输出("连接成功");
    }, (ev) => {
        调试输出("连接失败");
    },[{ usbVendorId: 0x1a86, usbProductId:0x7523  }])
    同步 串口对象.打开串口(9600,8,1,"none","none");
}
JavaScript

注解:在上方的代码中,我们创建了一个异步函数,在这个函数中进行串口设备的选择并打开选择的串口,其中选择串口设备命令的最后一个参数传递的是一个数组[{ usbVendorId: 0x1a86, usbProductId:0x7523  }],这个数组中的成员对象usbVendorId代表串口的产品ID,usbProductId代表串口的厂商ID。

接下来再定义两个函数用来开启串口通电或关闭串口通电。

定义函数 发送关灯(){
    串口对象.发送串口数据("A00100A1")
}
定义函数 发送开灯(){
    串口对象.发送串口数据("A00101A2")
}
JavaScript

注解:发送串口数据采用的是十六进制数据,具体要怎么与串口交互要看您的串口设备所提供的相关资料。

然后还可以接受串口的相关信息,实例代码如下:

定义函数 获取串口返回数据(){
    某个串口对象.获取串口数据(5000,(数据信息)=>{
        调试输出(数据信息)
        
    })
}
JavaScript

注解:获取串口数据一般在使用了发送串口数据命令后,用以获取串口返回的数据;该命令有两个参数,第一个是超时时间,例如5秒没有返回则停止获取,第二个参数是返回数据的回调函数。

完整案例代码如下:

<!文档类型 网页类型>
<网页 语言代码="中文">
<网页头部>
    <网页信息 文档编码="UTF8">
    <网页信息 名称="页面视图" 关联数据="视图宽度=填充视图宽度,初始缩放值=1,最大缩放值=1,用户缩放状态=假">
    <网页信息 关联HTTP="兼容模式" 关联数据="最高IE版本">
    <网页标题>Document</网页标题>
</网页头部>
<网页主体>
    <!--这里编写网页代码-->
    <按钮 点击回调="初始化连接()">初始化链接</按钮>
    <按钮 点击回调="发送关灯()">发送关灯</按钮>
    <按钮 点击回调="发送开灯()">发送开灯</按钮>
    <脚本>
        局部变量 串口对象 = 新建对象 浏览器串口类();
        定义函数 发送关灯(){
            串口对象.发送串口数据("A00100A1")
        }
        定义函数 发送开灯(){
            串口对象.发送串口数据("A00101A2")
        }
        定义函数 获取串口返回数据(){
            某个串口对象.获取串口数据(5000,(数据信息)=>{
                调试输出(数据信息)
                
            })
        }
        异步 定义函数 初始化连接() {
            同步 串口对象.选择串口设备((ev) => {
                调试输出(ev);
            }, (ev) => {
                调试输出("连接成功");
            }, (ev) => {
                调试输出("连接失败");
            },[{ usbVendorId: 0x1a86, usbProductId:0x7523  }])
            同步 串口对象.打开串口(9600,8,1,"none","none");
        }
    </脚本>
</网页主体>
</网页>
JavaScript

桌面端-跨平台串口通信教学博客