今天搞了一天的STM8,也是初次使用IAR,所以很多问题的处理都没有什么头绪。
我将ADC的转换结果赋给一个unsigned int 变量,
AD_Value=((((unsigned int)ADC_DRH)<<2)+ADC_DRL);
这样写会有警告:Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement
但是我分为两句写,就编译通过了,语句的功能是一样的
AD_Value=(((unsigned int)ADC_DRH)<<2);
AD_Value+=ADC_DRL;
这有谁遇到过吗? |