基于matlab的串口通信,matlab串口通信

用MATLAB生成了一个随机的字符串,对其做4ppm编码处理,然后通过串口发送出去,经过一个可见光通信系统后,在经过串口接收到电脑里,用串口助手显示出来。     运行的时候,向串口写入数据的命令总是出错,这要怎么改

%% clear

clear

clc

delete(instrfindall);   %关闭串口

global c;               %全局变量

c = serial('COM4');   %以默认方式打开串口

c.BaudRate = 110;     %设置波特率为110

set(c, 'TimeOut', 1);   % 设置串口数据最大读写时间,如果超过这个时间,仍读取不到数据,那么则终止读写

fopen(c);                %打开串口

%% str

str = char([65:90,97:122]);   % a-z,A-Z

S = randsample(str,10);   %随机生成10位字符的字符串

fprintf('随机生成的10位字符串:');

disp(S);

%% 转化为二进制

SS = dec2bin(int8(S));

disp(SS);

%% 补足偶数

[m,n]=size(SS);

if mod(n,2)==1

SS = [num2str(zeros(m,1)),SS];

end

%% 4PPM

% 每个字符二进制数的长度&#x

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值