我一直在使用微处理器从传感器读取温度,并且遇到有关易失性声明的以下警告.
"赋值从指针目标类型中丢弃'volatile'限定符"
我收到一个温度值,在重新启动程序之前,值不会改变.
volatile uint16_t temp_value = 0;
if (value_type == UA_TYPE_UInt16)
{
data_value.value_UInt16 = &temp_value; // warning*******
switch (handle)
{
case HANDLE_TEMP1:
temp_value = ADC_GetConversionValue(ADC3);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
在搜索堆栈溢出后,我意识到将temp_value声明为volatile将表示temp_value将更改值.我在这个网站上找不到的是为什么我不能为data_value.value_UInt16使用volatile无符号整数
我将ADC值存储在服务器中,并希望随时访问更新的值.是否有一个额外的类型转换我应该指向temp_value?谢谢阅读.