Reading reply from serial port returns empty when read/write commands run separately
6 次查看(过去 30 天)
显示 更早的评论
I have a serial port that is configured as such: Serial Port Object : Serial-COM3
Communication Settings
Port: COM3
BaudRate: 9600
Terminator: 'CR'
Communication State
Status: open
RecordStatus: off
Read/Write State
TransferStatus: idle
BytesAvailable: 4
ValuesReceived: 306
ValuesSent: 200
(BytesAvailable shows 4 because the snapshot is right after I had written to the port).
If I run the following commands in a function without entering debugger or if I simply enter them simultaneously in the matlab console, the read function returns an expected result, almost instantly
fprintf(this.serial_, '%s', command); fread(this.serial_, nBytes);
IF, however, I print the command, and then afterwards try to read it, the read results in the following:
Warning: Unsuccessful read: The specified amount of data was not returned within the Timeout period.
ans =
Empty string: 0-by-1
Any thoughts on why the serial reply is different?
Thanks!
2 个评论
Austin Adam
2020-1-13
Hey did you ever figure this out? I'm having the same issue where I send a command just as you did, and upon reading the response, I get an emtpy 0x1 matrix.
I have used this exact method before to communicate and it worked every time, but now for some reason I am having issues... is there something you did that made it start working again?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Computer Vision with Simulink 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!