用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