各位,请教一个问题,代码如下:
GpioDataRegs.GPADAT.bit.GPIO2 = 1; // 灭
GpioDataRegs.GPADAT.bit.GPIO3 = 1; // 灭
GpioDataRegs.GPADAT.bit.GPIO4 = 0; // 亮
GpioDataRegs.GPADAT.bit.GPIO5 = 0; // 亮
单步调试时,IO输出如预期一样,GPIO2和GPIO3输出是1,GPIO4和GPIO5输出是0,
正常运行程序时,GPIO的输出却不是单步执行的结果,必须在每句之间插入延时才如预期结果,为什么?
GpioDataRegs.GPADAT.bit.GPIO2 = 1; // 灭
DELAY_US(10);
GpioDataRegs.GPADAT.bit.GPIO3 = 1; // 灭
DELAY_US(10);
GpioDataRegs.GPADAT.bit.GPIO4 = 0; // 亮
DELAY_US(10);
GpioDataRegs.GPADAT.bit.GPIO5 = 0; // 亮
GpioDataRegs.GPADAT.bit.GPIO2 = 1; // 灭
GpioDataRegs.GPADAT.bit.GPIO3 = 1; // 灭
GpioDataRegs.GPADAT.bit.GPIO4 = 0; // 亮
GpioDataRegs.GPADAT.bit.GPIO5 = 0; // 亮
单步调试时,IO输出如预期一样,GPIO2和GPIO3输出是1,GPIO4和GPIO5输出是0,
正常运行程序时,GPIO的输出却不是单步执行的结果,必须在每句之间插入延时才如预期结果,为什么?
GpioDataRegs.GPADAT.bit.GPIO2 = 1; // 灭
DELAY_US(10);
GpioDataRegs.GPADAT.bit.GPIO3 = 1; // 灭
DELAY_US(10);
GpioDataRegs.GPADAT.bit.GPIO4 = 0; // 亮
DELAY_US(10);
GpioDataRegs.GPADAT.bit.GPIO5 = 0; // 亮