How to send a set of bytes in fwrite or fprintf command?
2 次查看(过去 30 天)
显示 更早的评论
Hello
Recently I bought MD49 driver and EMG49 motor. Driver document said:
The commands are sent with a sync byte of 0 at the start and then the command followed by any data bytes. The MD49 will then respond if the command is applicable.
For example to read the battery voltage, send: 0x00 - sync byte 0x26 - READ VOLTS command and the MD49 would respond with 0x18 - returned byte (24 decimal) 24v
But I don't now how to send a set of bytes like that with fwrite or fprintf command.
Thanks
0 个评论
回答(2 个)
Honglei Chen
2012-10-30
Here is an example using sprintf, but fprintf is similar
>> sprintf('0x%02x',24)
ans =
0x18
0 个评论
Walter Roberson
2012-10-30
Use hex2dec() or sscanf() to convert the hex representation to numeric representation. fwrite() that.
fwrite(s, uint8(hex2dec('26'))
or
fwrite(s, hex2dec('26'), 'uint8')
or
fwrite(s, sscanf('%x', '26'), 'uint8')
or
fwrite(s, sscanf('%i', '0x26'), 'uint8')
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Specialized Power Systems 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!