本次测试用的源文件为E:\tech\AGM-AG32VF\sdk-release\AgRV_pio\platforms\AgRV\examples\example\src\example.c
原理图中查看D3 LED对应控制的pin脚
修改platformio.ini中的ve为407
board.ve中需要映射pin32 为 gpio功能
在exampel.c中增加如下代码
#define LED_D3_GPIO GPIO4
#define LED_D3_GPIO_BITS (1 << 3)
SYS_EnableAPBClock(APB_MASK_GPIO4);
GPIO_SetOutput(LED_D3_GPIO, LED_D3_GPIO_BITS);
GPIO_SetHigh(LED_D3_GPIO, LED_D3_GPIO_BITS);
int counter = 0;
while (1) {
UTIL_IdleMs(100);
GPIO_Toggle(LED_D3_GPIO, LED_D3_GPIO_BITS);
printf("test %d \r\n", counter++);
}
重新编译,再烧录upload程序,但发现D3或者没有一个灯是亮的,这时候无论时RST还是重新上电,都没有任何反应
经过在线debug发现如下INT_Init中一直在等待某一个irq完成,目前还不清楚这个irq在上电时一直触发的原因,如果不修改如上,按下K_UP键也可以继续往下运行
修改控制D3的闪烁频率,可以修改循环中的delay值,单位ms
视频分享: