likes
comments
collection
share

Nodejs 第六十三章(串口技术)

作者站长头像
站长
· 阅读数 2

串口介绍

串口技术是一种用于在计算机和外部设备之间进行数据传输的通信技术。它通过串行传输方式将数据逐位地发送和接收。

常见的串口设备有,扫描仪,打印机,传感器,控制器,采集器,电子秤等

SerialPort

SerialPort 是一个流行的 Node.js 模块,用于在计算机中通过串口与外部设备进行通信。它提供了一组功能强大的 API,用于打开、读取、写入和关闭串口连接,并支持多种操作系统和串口设备。SerialPort官网

SerialPort 模块的主要功能包括:

  1. 打开串口连接:使用 SerialPort 模块,可以轻松打开串口连接,并指定串口名称、波特率、数据位、停止位、校验位等参数。
  2. 读取和写入数据:通过 SerialPort 模块,可以从串口读取数据流,并将数据流写入串口。可以使用事件处理程序或回调函数来处理读取和写入操作。
  3. 配置串口参数:SerialPort 支持配置串口的各种参数,如波特率、数据位、停止位、校验位等。可以根据需求进行定制。
  4. 控制流控制:SerialPort 允许在串口通信中应用硬件流控制或软件流控制,以控制数据的传输速率和流程。
  5. 事件处理:SerialPort 模块可以监听串口连接的各种事件,如打开、关闭、错误等,以便及时处理和响应。

案例跟单片机通讯

这里我使用51单片机

Nodejs 第六十三章(串口技术)

需要安装的软件

  1. Keil uVision5 编写单片机代码
  2. stcai-isp 烧录单片机程序

单片机串口通讯编写

#include <REGX51.H>
#include <STDIO.h>
sbit LED = P1^0; //
void UART_Init() {
  SCON = 0x50; //工作方式
  PCON = 0x00; //32分频
  TMOD = 0x20; //计数器工作方式
  TH1 = 0xFD;
  TL1 = 0xFD;
  ES = 1; //接受中断
  EA = 1; //打开总中断
  TR1 = 1; //打开计数器
}
void main ()
{
  UART_Init(); //调用初始化函数
	while(1);
}

void uart()interrupt 4 
{
 unsigned char date;
	date = SBUF; //接受数据
	if(date == '1'){
	   LED = 0; //开灯
	}else if(date == '0'){
	   LED = 1; //关灯
	 }
	RI = 0;
}

烧录至单片机

Nodejs 第六十三章(串口技术)

nodejs端编写

安装 serialport

npm install serialport

代码编写

import { SerialPort } from "serialport";

const serialPort = new SerialPort({
    path: 'COM4', //单片机串口
    baudRate: 9600 //波特率
})

serialPort.on('data',()=>{
    console.log('data') //监听单片机的消息
})
let flag = 1
setInterval(()=>{
    serialPort.write(flag + '') //跟单片机进行通讯 传值
    flag = Number(!flag)
    console.log(flag == 0 ? '开': '关') //进行开关的切换
},2000)

Nodejs 第六十三章(串口技术)