小编ray*_*ray的帖子

赋值从指针目标类型中丢弃'volatile'限定符

我一直在使用微处理器从传感器读取温度,并且遇到有关易失性声明的以下警告.

"赋值从指针目标类型中丢弃'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?谢谢阅读.

c embedded pointers volatile

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

c ×1

embedded ×1

pointers ×1

volatile ×1