我在 example.h 文件中有一个这样的类型结构:
typedef union{
uint16_t valNum;
struct{
uint8_t valNumH;
uint8_t valNumL;
};
} valueExp;
Run Code Online (Sandbox Code Playgroud)
我在 example.c 文件中使用这个结构:
uint16_t myFunction(uint16_t tempData){
uint8_t myData[8];
ValueExp mainValue;
mainValue.valNum=tempData;
myData[5]=mainValue.valNumH;
}
Run Code Online (Sandbox Code Playgroud)
当我分析 IAR-CSTAT 分析此函数时,出现此错误:
Union mainValue is written as valNum then read as another field - UNION-type punning
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个消息?