Check two string data without carriage return symbol

Hi all!
In the serial com port channel values comes from 0 to 1023, this example from Arduino: https://monosnap.com/file/TiTehc6zWhu0zszPnCALbnjIMAfpzf
On the MATLAB side I parse it via function:
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
But sometimes from serial port I take corrupted data like this: https://monosnap.com/file/ysJFdabTbOVOKoQbgqJYF44SioAORy
And it is cause error in my program:
https://monosnap.com/file/oEJlyjnifsTx6h531xfDi23nQ89Shv
https://monosnap.com/file/6fdI8mgQa6pVjKn2EHFqzXdQnDDLzb
This is two string data, but without carriage return symbol, because all checking such as: ~isnan(), ~isempty() and findstr(Psvoltage, '\r') this data had been passed.
The question is: how do I check these data would be to ignore them?
Thank you!

 採用された回答

Ced
Ced 2016 年 3 月 25 日
編集済み: Ced 2016 年 3 月 25 日

0 投票

Why not just take the first row?
I.e.
Psvoltage = deblank(fscanf(obj1)) %, '%d', 4)
if ( ~isempty(Psvoltage) )
Psvoltage = Psvoltage(1,:);
end
edit: added ~isempty check

2 件のコメント

Sergey Makovkin
Sergey Makovkin 2016 年 3 月 25 日
I tried you case, but it dont solve my problem with corrupted data. This is the code: https://monosnap.com/file/qgg8o3x6aQ2rbs6AtFpGsNh5LEtXZO
This is corrupted case with errors: https://monosnap.com/file/rAr5kgsKK2OAtVCKLNKiXL995Gffzb
Ced
Ced 2016 年 3 月 25 日
編集済み: Ced 2016 年 3 月 25 日
How about
Psvoltage = deblank(fscanf(obj1)) %, '%d', 4)
if ( ~isempty(Psvoltage) )
volt_num = str2num(Psvoltage);
Psvoltage = volt_num(1);
end
?
or simply < removed, did not work >, see Sergey's answer below.

サインインしてコメントする。

その他の回答 (1 件)

Sergey Makovkin
Sergey Makovkin 2016 年 3 月 25 日

0 投票

Thank you very much! First variant is working correctly, but second is not (please see the 2nd result: https://monosnap.com/file/6XxSZBS1pNI2AcPHIZNSq3n4SCSPJD)

1 件のコメント

Ced
Ced 2016 年 3 月 25 日
Interesting, thanks for testing them out!

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeSymbolic Math Toolbox についてさらに検索

タグ

質問済み:

2016 年 3 月 25 日

編集済み:

Ced
2016 年 3 月 25 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by