Virtual Serial Port Data Loss
2 次查看(过去 30 天)
显示 更早的评论
Here is my problem I am using the serial command to read a virtual usb serial port. I need to read data at about 2 MHZ. However, it seems that matlab is unable to read the data without loss. I am wondering how to fix this problem.
Here are the following things I have tried
data.portObject = serial(portToOpen,'BaudRate',baudRate,'StopBits',1, 'InputBufferSize', 65536,'BytesAvailableFcn', @breakCallBack, 'BytesAvailableFcnMode', 'byte', 'BytesAvailableFcnCount',1024 );
Where break call back is
function breakCallBack(obj, event)
fread(obj, 8196, 'uint8');
I have obviously also tried to use a break interrupt function with no success even though my sending microcontroller was stalling in between data the function was never called.
I have tried switching the different numbers around to different values to see if the input buffer wasn't large enough ect.
I believe that the micro controller is sending 1 bit.
I tried different sorts of flow control and checked the number of data bits.
Does anyone have any insight as to why the communication channel is losing data when read by matlab?
I have checked the transferred data and it appears to be losing about 10% of the data being set.
I am willing to provide more information if neccesary.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!