Reading reply from serial port returns empty when read/write commands run separately
조회 수: 1 (최근 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에서 Startup and Shutdown에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!