这个警告不属于严重问题
在 IAR (for STM8)的编译中,经常有如下的警告:
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement。
意思是这条语句中有多个被 volatile 定义过的变量。编译器会认为有问题。
解决办法有两种
一、改代码
原代码:
I2C_DR = _i2c_cmd_p->data[_i2c_cmd_p->di++];
改成:
di = _i2c_cmd_p->di++;
I2C_DR = _i2c_cmd_p->data[di];
二、改 IAR 配置
这种属于暴利方式。