serial com RS422, sending hexadeximal coomands

16 次查看(过去 30 天)
Hello,i am trying to communicate with a "reciever" device which is connected as shown in the attached photo(serial-com).
i communicated with the device using PCOM software,as shown in the attached photo with "hexadeximal" commands.
i tried to do the same thing with matlab shown as following,
but it doesnt do anything,how to do these hexadecimal commands in matlab?
Thanks
s = serial('COM4');
set(s,'BaudRate',115200);
fopen(s);
fprintf(s,'0801')
fprintf(s,'63')
out = fscanf(s);
fclose(s)
delete(s)
clear s

采纳的回答

Greg
Greg 2017-11-28
编辑:Greg 2017-11-28
'63' and '0801' in MATLAB are character arrays. The binary of '63' is not the same as the binary of 0x63. Try:
fwrite(s,uint8(hex2dec('0801')));
fwrite(s,uint8(hex2dec('63')));

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Use COM Objects in MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by