C编程,stm32 uint64_t变量不起作用

时间:2018-12-17 16:25:06

标签: c arrays 64-bit stm32

我在以下方面遇到麻烦。我有一个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位计算机,但是我认为这应该不是问题。

欢迎任何帮助。

本杰明

0 个答案:

没有答案