Read full answer from serial device
2 visualizaciones (últimos 30 días)
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!
0 comentarios
Respuestas (1)
Alexander
el 3 de Oct. de 2023
Editada: Alexander
el 3 de Oct. de 2023
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.
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!