How to transmit 96 bits using RS232?

2 views (last 30 days)
Ana
Ana on 31 Mar 2015
Answered: Ana on 1 Apr 2015
I try to divide the 96 bits in groups of 8 bits and sent them using RS232, after the 96 bits have been sent to a FPGA and it done some operations, I need transmit from the fpga to a computer, a group of 32 bits. Somebody can help me. I try to use the following code in a loop
>>hpo=serial ('COM4','BaudRate',115200,'DataBits',8, 'Parity','none','StopBits',1,'ReadAsyncMode','continuous');
>>DataC=fread(hpo,1);
But I got the following error
Warning: Unsuccessful read: The specified amount of data was not returned within
Thanks

Answers (2)

Ganesh Gaonkar
Ganesh Gaonkar on 31 Mar 2015
Some hardware requires hardware-handshaking for communication. This is done by setting the "flowcontrol" to hardware like below:
set(hpo,'FlowControl','hardware');
You can try adding this command after your first command and see if that can solve the issue.
  1 Comment
Ana
Ana on 1 Apr 2015
Thanks Ganesh Gaonkar, I add the command but I get an error.

Sign in to comment.


Ana
Ana on 1 Apr 2015
I need send 3 package of 32 bits to a FPGA and after few operations doing by the FPGA, I need transfer a package of 32 bits from the FPGA to my computer using RS232, now I have stored my data in a .txt and these data are in binary form, and I use the following command to separate the 3 first data of my .txt file
clear all;
close all;
clc;
Data1=['000000' data(j,:)];
After send the data, I need to receive in my computer 32 bits, and in the code to program the FPGA I resolve this problem sending 4 package of 8 bits, and in matlab I using the following command:
hpo=serial ('COM4','BaudRate',115200,'DataBits',8, 'Parity','none','StopBits',1,'ReadAsyncMode','continuous ');
DataC=fread(hpo,3);
for i=1:4
DataC=fread(hpo);
arr(i)=DataC
end
fclose(hpo);
delete(hpo);
clear hpo;
But when I communicate the PFGA and the computer I get the following error:
Unsuccessful read: The specified amount of data was not returned within the
Timeout period.
Please Can you Help me?

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!