Send a float number to Arduino Target (Serial Receive) using Serial Send (instrument control toolbox)

1 次查看(过去 30 天)
Hi, I'm trying to use the Arduino UNO as Hardware In the Loop. I am stuck because I cannot find a way to send a float single precision number via Serial Send block (from Instrument control toolbox), with the arduino target receiving it with Serial Receive (from Arduino Target library).. After that I will need to send a float back from the target to the simulink, (always using serial communication), but that seems a bit easier.
One more thing: the Serial Receive from Arduino Target gives as an output, a int16, but only the 8LSB contain informations, I don't know why (and the Serial Send block from the Arduino Target expects an UINT8, just like it is meant to be!)
I am using Matlab 2011b, and the arduino target library compatible with the IDE 0022, which I have regularly installed. The newest Arduino Target Library, compatible with IDE 1.0 and Matlab 2012a does not work

回答(1 个)

Gautam Vallabha
Gautam Vallabha 2012-4-9
For sending data from MATLAB to Arduino, take a look at the "To Instrument" block (in Instrument Control Toolbox). The "Send" tab in the block mask allows you to send 32-bit or 64-bit floats. This blog entry describes a similar approach.
> The newest Arduino Target Library, compatible with IDE 1.0 and Matlab 2012a does not work.
Can you elaborate? What problem are you having with this?
  7 个评论
Walter Roberson
Walter Roberson 2012-5-14
In MATLAB it would be
typecast(The4Chars,'float')
In Simulink I suspect it would be messy to do without calling upon MATLAB.
Walter Roberson
Walter Roberson 2012-5-15
Possibly Shankar's response will help:
http://www.mathworks.com/matlabcentral/answers/35270-s-function-for-reading-com-port

请先登录,再进行评论。

类别

Help CenterFile 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!

Translated by