1

在写这篇文章时,我尝试了 b = fread(s, 1, 'uint32')

这会很好用,但我糟糕的数据是先发送 LSB 的!(不,我不能改变这个)

之前,我使用 b = fread(s, 4)',它给了我一个类似于 [47 54 234 0] 的向量。这是我的输入流:

0A
0D 39 EA 00 04 39 EA 00
4B 39 EA 00 D0 38 EA 00
0A
etc...

我可以通过 0x0A 成功分隔

while ~isequal(fread(s, 1), 10) end

基本上我需要得到由 [00EA390D 00EA3904 00EA394B 00EA38D0] 表示的 uint32 数组,swapbytes 的文档对我没有多大帮助,并且 uint32 运算符对单个元素进行操作!

4

1 回答 1

1

matlab fread函数直接支持little endian机器格式。只需将 fread 函数的第 5 个参数设置为字符串“L”。

b = fread(s, 4, 'uint32',0,'l');
于 2013-08-28T13:03:18.657 回答