官方教程
Matlab官网有关于Serial Port Interface的详细说明。写的挺全的,就是访问速度太慢了。
链接: [https://ww2.mathworks.cn/help/instrument/serial-port-interface.html]
学习记录
帮助
使用instrhelp serial命令可以获得所有有关serial的函数及介绍。
函数
-
1.obj = serial(‘port’)
- 可以创建一个与‘port’相关的串口对象s,如果串口不存在或被占用,则不能使用fopen函数,报错信息
-
Open failed: Port: SDFS is not available. Available ports: COM1, COM2.
Use INSTRFIND to determine if other instrument objects are connected to the requested device. -
也可以通过obj = serial(‘port’,‘PropertyName’,PropertyValue,…)
参数化创建串口对象,如:
s2 = serial(‘COM2’,‘BaudRate’,1200,‘DataBits’,7);
2.seriallist
-
可以获取与系统相连的串口信息。
seriallist返回的是所有的串口的name,包括占用的。
seriallist(‘available’)返回的是可用的串口name
3.instrfind
-
使用此函数可以从memory中找到所有的串口对象数组(object array)。
比如,我用s=serial(‘COM1’)创建了一个串口对象,fopen(s)之后,执行clear命令,这个时候Serial-COM1已经处于打开状态,而我不能通过fclose(s)来关闭它,因为s已从workplace中清除。可以执行以下命令来找到相应的串口对象,并执行关闭或删除等操作:
out=instrfind;
fclose(out(1));
关于串口
虚拟串口工具
我使用的是Configure Virtual Serial Port Driver软件,可以创建虚拟串口。
其他
-
serial对应的属性
-
BaudRate:
-
Terminator:
-
Status:
-
RecordStatus:
-
等等
半双工通信方式
-
半双工通信,即Half-duplex Communication。这种通信方式可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行。也就是说,通信信道的每一段都可以是发送端,也可以是接收端。但同一时刻里,信息只能有一个传输方向。如日常生活中的例子有步话机通信,对讲机等。
半双工传输的协议是称为线路规程的过程的一部分,它是OSI模型的第二层,数据链路层所包含的一项功能。