我试图通过UART使用MATLAB将包含十六进制值的文件写入我的嵌入式设备。代码运行但我得到的输出不是十六进制。
图像显示了该问题。数字的顶部是我得到的输出;下面的十六进制数据是我的输入文件,这也应该是我的输出。
obj1 = instrfind('Type', 'serial', 'Port', 'COM9', 'Tag', '');
fopen(obj1);
A = fopen('C:\Users\admin\Workspace\STELLARIS-LM4F120_00_210214_104000_0001_temp_025.bin');
while ~feof(A)
curr = fscanf(A,'%c',1);
% Communicating with instrument object, obj1.
binblockwrite(obj1, 'curr');
end
% Disconnect from instrument object, obj1.
fclose(obj1);
请告诉我这里的问题。
谢谢! 卡希夫
答案 0 :(得分:0)
fopen(obj1);
A = fopen('C:\Users\admin\Workspace\STELLARIS-LM4F120_00_210214_104000_0001_temp_025.bin');
txdata = fread(A,inf,'uint8','ieee-be');
for i = 1:32768
fwrite(obj1,txdata(i),'uint8');
end
fclose(obj1);