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 中查找有关 MATLAB Support Package for Arduino Hardware 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!