Get data from COM port

Hi everyone,
data is send to my laptop by a device through a usb port. How often the data is send depends on de sample time that i choose, it can vary from very 0.05s to ones very 30s.
i want matlab to get the data every time that the device sends it to my laptop. I am not that familiar with matlab and hope you can help me out a bit.
this is what i have so far...:
board = serial('COM3', 'BaudRate', 38400, 'DataBits',8);
fopen(board);
S = fscanf(board);
with S I get (I think) the oldest value stored in the input buffer every time i run fscanf
Thanks in advance!
Paul

回答 (1 件)

Walter Roberson
Walter Roberson 2015 年 5 月 18 日

0 投票

Set a BytesAvailableFcn callback on the serial port object.

5 件のコメント

paul kaam
paul kaam 2015 年 5 月 18 日
Could you perhaps explain this a little bit more? I have difficulty implementing this function.
many thanks
Guillaume
Guillaume 2015 年 5 月 18 日
See the examples in the doc here and here. Basically, instead of asking the serial port for data, you wait for it to execute your function (callback) whenever data can be read.
paul kaam
paul kaam 2015 年 6 月 24 日
Many thanks Guillaume!
Unfortunately i have a matlab version from my university and are not able to view the documents!! is it possible you send it to me?
with kind regards,
Guillaume
Guillaume 2015 年 6 月 24 日
No, that would be a violiation of Mathworks copyright.
You can access the same documentation from within matlab by typing:
web(fullfile(docroot, 'matlab/matlab_external/bytesavailablefcn.html'))
and
web(fullfile(docroot, 'matlab/matlab_external/events-and-callbacks.html'))
paul kaam
paul kaam 2015 年 6 月 26 日
many thank!

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeUse COM Objects in MATLAB についてさらに検索

質問済み:

2015 年 5 月 18 日

編集済み:

2015 年 6 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by