工具与软件:
我正在使用基于 SPI 的加速计、并尝试对所有采样数据运行一个函数。 在之前的测试中、我能够读取所有数据并将其保存到内存中、但当我尝试对数据运行函数时、我们的值中出现的数据是意外的。 实际上、我们已验证数据输入正确、但对数据的数学改变不一致 (此时、我们只是将当前采样值与一段时间内所有其他采样值之和相加)。
我的问题:
数据是十六进制2补码。 使用此数据添加二进制补码的最佳方法是什么? 微控制器是否以不同的方式处理我们看不到的数据?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
我正在使用基于 SPI 的加速计、并尝试对所有采样数据运行一个函数。 在之前的测试中、我能够读取所有数据并将其保存到内存中、但当我尝试对数据运行函数时、我们的值中出现的数据是意外的。 实际上、我们已验证数据输入正确、但对数据的数学改变不一致 (此时、我们只是将当前采样值与一段时间内所有其他采样值之和相加)。
我的问题:
数据是十六进制2补码。 使用此数据添加二进制补码的最佳方法是什么? 微控制器是否以不同的方式处理我们看不到的数据?
目前我们正在存储在一个整数中。 该整数可能不够大、但考虑到我与其他工程师讨论过的内容、我们也要改用16位整数。 现在、我们将针对每个数据点使用2个字节、但我们的第一个字节包含对所有8位的访问、第二个字节仅包含对4个最高有效位[7:4]的访问、最后4个[3:0]是"保留"、意味着我们无法访问它们。 我们目前正在努力合并数据字节、现在我们先前已经丢弃了一个数据字节并牺牲了速度精度。 现在我们可以提高当前使用可获得的2个字节的准确度。 这也有助于知道数据也是左对齐的、以防对二人的称赞有任何影响。 实验室测试用例并不接近此时会导致溢出的情况。 过去、我们会保存数据并在 Excel 中运行数学运算、从而得到期望值。
这里的类型存在一些混淆。 "整数"可能是16位、因此移动到"16位整数"可能没有变化。
目前尚不清楚何处"我们现在将使用每个数据点2个字节、但我们的第一个字节包括对所有8位的访问、第二个字节仅包括对4个最高有效位[7:4]的访问、最后4个[3:0]是"保留"、意味着我们无法访问它们。 "来自。 这是从加速计返回的吗? 您能告诉我们您正在使用的加速计吗? 您能否分享一个展示该问题的小示例?
我怀疑在根据您的2个 SPI 字节创建16位整数时会出现问题。