Filter löschen
Filter löschen

functions to combine two hexadecimal numbers

17 Ansichten (letzte 30 Tage)
Peter
Peter am 25 Sep. 2011
I'm doing a project that involves taking in data from an EMG, running it through a function in Matlab, and sending commands to a series of motors. The motors take a series of 2 hex numbers, one 2 digits, one 4 digits preceded by the letter d. For example, d0103FF. My question is, how can I write a series of functions that takes the difference between two numbers, converts it to a zero padded four digit hexadecimal, and then tacks it onto the end of dXX where X is another number.
  2 Kommentare
Chaowei Chen
Chaowei Chen am 25 Sep. 2011
can you give an example about the I/O? If the format is regular, my approach would be to treat d0103FF as a string and read it digit by digit
Peter
Peter am 25 Sep. 2011
An EMG signal is going to be processed and classified as a number. This number determines which set of functions to use. The output is d followed by a zero-padded 2 digit hex number followed by a zero padded 4 digit hex number. In order to determine the four digit number,the current motor rotation is subtracted from the desired rotation. This number is turned into hex with dec2hex. I need to figure out how to take the number calculated and insert it after the d and two hex digits.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Rick Rosson
Rick Rosson am 25 Sep. 2011
y = desired - actual;
h2 = dec2hex(x,2);
h4 = dec2hex(y,4);
out = [ 'd' h2 h4 ];

Weitere Antworten (2)

Rick Rosson
Rick Rosson am 25 Sep. 2011
>> doc dec2hex
>> doc hex2dec

Jan
Jan am 25 Sep. 2011
SPRINTF('%x') and the corresponding FPRINTF commands are very fast for the conversion of hexadecimal and decimal numbers - mucgh faster than HEX2DEC and DEC2HEX:
out = sprintf('d%.2x%.4x', x, y)

Kategorien

Mehr zu Specialized Power Systems finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by