matlab 串口通信、显示及简易GUI页面设计自学笔记

写在前面

最近做了一个康复辅助设备的小项目,其中一部分设计串口通信及其对应知识,也是整个项目挺重要的一部分,故单独摘出来写成笔记以加强记忆。如有错误之处望诸君指正。

串口通讯初始化

串口通讯的第一步便是初始化,即配置串口参数打开串口

在matlab中,我们可以通过调用几个简单的指令来实现这一步骤。

首先是配置串口参数

一般来讲,串口参数包括:串口名、波特率、奇偶校验位(起始位)、数据位、停止位这几项。

串口名是指:串口在系统中的名称,一般以COM加数字命名。如:COM2、COM11。

波特率是指:上位机与下位机通讯时的传输速度。常见的波特率有9600、14400、115200等,其单位为波特/秒,即b/s。

需要注意区分的一点是波特率不是比特率,比特率的单位是比特/s,即bit per second-bps/s;波特率中的波特与比特存在这样的关系,如果发送的内容有1位起始位、1位终止位、8位数据位,那么1波特便等于10比特。

如果下位机的采样频率过快(数据小于等于8位),比如达到了10kHZ,那么就要求在1秒以内上传10000个数,需要10000个波特,在这种情况下9600的波特率就不满足要求了,我们便需要更大的波特率。

另外顺便区分一下比特bit与字节Byte,在一般情况下1Byte=2^8bit,即一个字节由256个比特组成。在串口通讯中,如果设置数据位为8,那么我们一个波特所能携带的数最大便为11111111,因此对超过8位的数据我们需要将其拆分成高低位发送。

奇偶校验位(起始位)、数据位、停止位是指:每一个波特中所含的这些有不同含义的数的位数。一般奇偶校验位为0,数据位为8,停止位为1。

以上配置串口参数的过程可以用简单的matlab语句实现:

s=serial("COM8");%设置串口的句柄
set(s,'BaudRate',14400,'DataBits',8,'StopBits',1,'Parity','none');
%配置串口参数 波特率14400 无起始位 1终止位 8数据位

其次是打开串口

在matlab中可用简单语句实现:

fopen(s);%配置并打开串口

这样,便完成了串口通讯的初始化,接下来便是发送数据和接收数据了。

串口发送数据

在matlab中,发送数据的函数有fprintf、fwrite、fsc

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值