串口接口故障处理
串行通信是用于在两个或多个设备之间通信的低级协议。通常,一个设备是计算机,另一个设备可以是另一台计算机、调制解调器、打印机或科学仪器,如示波器或函数发生器。
串口以串行方式发送和接收字节的信息—每次1位。这些字节使用二进制格式或文本(ASCII)格式进行传输。
对于许多串行端口应用程序,您可以与您的仪器通信,而无需详细了解串行端口如何工作。通信是通过在MATLAB中创建的串口对象建立的®工作区。
问题
如果连接到串口设备或与串口设备通信有问题,请遵循以下故障排除步骤。
可能的解决方案
支持的平台上
串口接口支持以下平台:
Linux®64位
macOS64位
微软®窗户®64位
在与MATLAB相同的平台上支持串口接口。有关当前支持的平台列表的更新,请参见MATLAB系统要求.
适配器的要求
采用RS-232标准接口与串口通信。多年来,已经开发了一些用于连接计算机到外围设备的串口接口标准。这些标准包括RS-232、RS-422和RS-485 -所有这些都由串口对象支持。其中,使用最广泛的标准是RS-232,即推荐标准编号232。
您需要使用串口线缆连接两台设备。有关更多信息,请参见使用串口线缆连接两台设备.
串口由两种信号类型组成:数据信号而且控制信号.为了支持这些信号类型,以及信号地,RS-232标准定义了25针连接。然而,大多数pc和UNIX®平台使用9针连接。事实上,串口通信只需要三个引脚:一个用于接收数据,一个用于传输数据,一个用于信号地面。有关更多信息,请参见串口信号和引脚分配.
配置与连接
请确保为您的设备安装了正确的仪器驱动程序。参考您的设备文档和厂商网站。
确保仪器控制工具箱™支持您的设备。看到我的硬件是否受支持?.
方法,确保“仪器控制工具箱”识别您的串口
serialportlist
函数。例如,如果你的计算机有多个串行端口,你的输出将是这样的:serialportlist
ans = 1×3 string array "COM1" "COM3" "COM4"
提示
您还可以使用Windows设备管理器查看可用串口的列表。
确保您可以创建您的串行端口对象。必须提供两个参数才能创建对象。例如,创建一个名为
年代
使用端口COM1
波特率9600
.S = serialport(“COM1”, 9600);
如果没有得到错误,则表示成功创建了对象。
连接后,就可以与设备进行通信了。如果在发送或接收时遇到问题,可能需要配置通信设置,例如
波特率
,DataBits
,奇偶校验
,StopBits
,或《终结者》
.请确保您将这些通信参数配置为与连接的设备相匹配。看到写和读文本数据而且写入和读取二进制数据对于沟通的例子。
串口其他故障处理提示
验证端口。确认串口(COM)在“Windows控制面板>设备管理器>端口”中。
发送和接收。如果在发送或接收时遇到问题,可能需要配置通信设置,例如波特率
,DataBits
,奇偶校验
,StopBits
,或《终结者》
.请确保您将这些通信参数配置为与连接的设备相匹配。
签证。对于串行通信,还可以将VISA与VISA资源名一起使用,如在VISA供应商实用程序(如Keysight Connection Expert)中定义的那样。
第三方软件。对于串口通信问题,也可以使用第三方串口通信软件(如PuTTY、Tera Term)进行隔离。
不正确的数据。在进行二进制数据通信时读
而且写
,确保正确的数据类型-例如int16
,uint16
,双
-被用来与读
而且写
.你应该使用与仪器相同的数据类型。
如果读写的数据类型不是uint8
或int8
,确保ByteOrder
是正确的。