Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Serial communication with arbitrary number of bytes

Asked by alex pabouctsidis on 8 Dec 2012

Hello,

I'm trying to receive data from a sensor in real time. the problem is the communication protocol is entirely binary lengths varying from 3 to 20+ bytes (in one frame).

I tried two use methods:

converting my hex value into text (equivalent ascii) and sending the string. the problem is 00 is represented as the nul char and cuts my string (sending everything before the first 00).

I then tried to use the binary fwrite command, but i'm limited to 8,16,32,64 bits where as i need an arbitrary number (such as 24).

I also tried cutting my data into multiple (8bit/16bit/32bit) segments and sending them one after another, but that also doesn't work. it needs to all go at the same time.

As an example, i'd like to send '0x201000' and '0x2005503C280000' in one go.

Does anyone have any idea on how to tackle this problem?

Regards, Alex

0 Comments

alex pabouctsidis

Products

No products are associated with this question.

1 Answer

Answer by Walter Roberson on 8 Dec 2012
Accepted answer

fwrite() can take arrays, each element of which is uint8()

1 Comment

Walter Roberson

Contact us