PlatformIO Community

关于启用pio debug时开关的值一直读不进变量问题2

以下内容是按键点灯源码

#define GPIO_SWs    0x80001400
#define GPIO_LEDs   0x80001404
#define GPIO_INOUT  0x80001408

#define READ_GPIO(dir) (*(volatile unsigned *)dir)
#define WRITE_GPIO(dir, value) { (*(volatile unsigned *)dir) = (value); }

int main ( void )
{
    int En_Value=0xFFFF, switches_value;

    WRITE_GPIO(GPIO_INOUT, En_Value);

    while (1) { 
        switches_value = READ_GPIO(GPIO_SWs);
        switches_value = switches_value >> 16;
        WRITE_GPIO(GPIO_LEDs, switches_value);
    }

    return(0);
}

是这样的,我们把该程序build后直接upload到开发板上是可以正常运行的。但是当我连上开发板后直接点pio debug开始按钮(三角形状),在不断点击单步跳过按钮过程中,开发板上的灯并没有亮,并且开关的值(val)不能读到数据,这让我很困惑。是否是该调试器是虚拟的,点击pio debug并没有将程序下载到开发板上?但这点又与rvfpga给出的教程不一致(教程上正确显示了开关的值,并且灯是亮的)