Matlab serial command to read binary data
5 ビュー (過去 30 日間)
古いコメントを表示
I want to communicate with an Arduino board using Matlab through a serial port. The Arduino board will transmit 8 bytes of BINARY data every 20 ms once it receives a 1. The transmission will stop if the Arduino receives a 0.
The following commands in an m-file work as expected when I step through them in the debug mode. However, the transmission stopped immediately when I ran the m-file. The s.BytesAvailable is zero. It looks like the pause command has not properly executed. Why was wrong? How can I fix it? Thanks.
s = serial('COM15','BaudRate',115200);
fopen(s);
fwrite(s,1); %ask Arduino to send data
tic;pause(3);toc %wait for several data to arrive
fwrite(s,0); %ask Arduino to stop sending data
fprintf(1,'%i\n\n',s.BytesAvailable)
fclose(s)
2 件のコメント
Pritesh Shah
2014 年 10 月 17 日
Check following thing. 1. Did u connect to hardware to com15? (Go to device manager and click on port)
2. set(s, ’BaudRate’, 4800); % Set this Baud Rate
回答 (1 件)
Sean de Wolski
2014 年 10 月 17 日
You might be interested in doing this with the support package directly rather than using the serial port yourself
参考
カテゴリ
Help Center および File Exchange で Arduino Hardware についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!