Read full answer from serial device
Mostrar comentarios más antiguos
Hi to all,
I have a serial device (9600, 8N1) that works in this way:
- I send a request command, i.e., "OP\n"
- it answers with "0.14\r\n52.32\r\n"
I need to always send a request command to obtain an answer from the device, so I should use a loop.
Now, I'm trying to use the serial functions under Matlab:
device = serialport("COM4",9600)
writeline(device,"OP")
readline(device)
it works, but I only get a part of the answer and not the full answer. I get the first double value and then I have to run it again to get the second one. Moreover, it seems that it is not able to handle the \r\n.
How can I continuously acquire from the device by correctly saving the values?
Thank you!
Respuestas (1)
You are right, readline reads exactly to the first terminator, so it is handling the terminator correctly. Try "read" instead, e.g.:
data = read(device,17,"char");
But you have to parse the data afterwards to your needs.
Categorías
Más información sobre MATLAB Support Packages en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!