Check two string data without carriage return symbol
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sergey Makovkin
el 25 de Mzo. de 2016
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!
0 comentarios
Respuesta aceptada
Ced
el 25 de Mzo. de 2016
Editada: Ced
el 25 de Mzo. de 2016
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
Más respuestas (1)
Ver también
Categorías
Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!