I'm trying to get some binary data from an Arduino Due to Matlab.

Basically this is the setup:


byte usbMsg[33]= {0};
// filled with dummy as example
usbMsg[1] = '00000001';// in[3];
usbMsg[2] = '00000001';//in[4];
usbMsg[3] = '00000001';//in[5];
SerialUSB.write(usbMsg, 33);

And on the Matlab side, I open the corresponding COM port and use a command like this one:

 a = fread(serialPort,3)

this gives me:

 a =


which is the ASCII representation of the data I sent.

Can anyone explain to me why this happens and what I could do? As I understood serial.write sends binary data and fread reads binary data.

  • You do you intend with the statement; usbMsg[1] = '00000001'? Check what this means in C/C++. – Mikael Patel Sep 4 '16 at 16:09
  • Damn i confused different languages. Thanks .... – Chuchaki Sep 4 '16 at 16:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.