我在以下方面遇到麻烦。我有一个uint8_t值数组。
我正在尝试将数组的前8个元素放入uint64_t变量中。
因此,我使用以下代码实现了这一目标:
uint64_t dummy;
int i, x;
uint8_t pRxBuffer[32];
...
i = 0;
for(x = i; x < (i + 8); x++)
{
dummy += pRxBuffer[x] << ((x - i) * 8);
}
现在的问题是,变量虚拟对象被视为32位变量。虚拟的结果只是前32位(因此数组的前3个元素)。
我使用的是STM32F303 MCU。这是一台32位计算机,但是我认为这应该不是问题。
欢迎任何帮助。
本杰明