代码是基于Silicon Labs的一款MCU。
具体问题是这样的,定义了一个变量:extern volatile uint8_t dataA2PageIndex;
在中断处理程序中使用:
case 0x00:
dataA2PageIndex = 0x00;
break;
case 0x01:
dataA2PageIndex = 0x01;
break;
case 0xFF:
dataA2PageIndex = 0x02;
break;
然后我调试发现问题了,于是在1s定时里面加了日志输出:
UART_LOGOUT(“LED16 OnOff- %d\n”,dataA2PageIndex);
这段代码应该是同嫂无欺的,但是我调试的时候发现,进入"case 0x01:",dataA2PageIndex 变成256,
进入"case 0x02:",dataA2PageIndex 变成512。
一脸懵呐。。。