String 检查不带回车符的两个字符串数据
在串行com端口中,通道值从0到1023,此示例来自Arduino: 在MATLAB端,我通过函数解析它:String 检查不带回车符的两个字符串数据,string,matlab,serial-port,String,Matlab,Serial Port,在串行com端口中,通道值从0到1023,此示例来自Arduino: 在MATLAB端,我通过函数解析它: while(obj1.BytesAvailable) Psvoltage = deblank(fscanf(obj1)) %, '%d', 4) [a, b] = size(Psvoltage) bb = findstr(Psvoltage, '\r') if ~isempty(Psvoltage) sPs = str2num(Psvolt
while(obj1.BytesAvailable)
Psvoltage = deblank(fscanf(obj1)) %, '%d', 4)
[a, b] = size(Psvoltage)
bb = findstr(Psvoltage, '\r')
if ~isempty(Psvoltage)
sPs = str2num(Psvoltage) * (100 / 1023); %
break;
end
end
但有时我从串行端口获取损坏的数据,如下所示:
这是我的程序出错的原因
这是两个字符串数据,但没有回车符号,因为所有检查,例如:~isnan()
,~isempty()
和findstr(Psvoltage,'\r')
都已传递此数据
问题是:我如何检查这些数据才能忽略它们?欢迎使用SO!数据以什么形式出现?十进制值作为字符串?我有点困惑到底哪里出了问题。不要只是张贴图片,用文字描述,并举例说明你收到的输入(预期的和有问题的)。无论如何,考虑使用Test/catch作为后退。