单片机中断使用goto语句

2019-07-15 19:22发布

最近在做一个mp6遇到一些问题。就是在用按键触发外部中断实现上下一曲

见我的程序结构如下
main()
{
        while(1)
        {
                loop:
                opengile(,,n);   //打开文件
                readfile();      //读取文件
               n++;
        }
       
}
interupt()
{
        if(...)
                n++;
        goto loop;
}


n为mp3文件的序号
文件在被读取的时候 是连续的,也就是这个程序会执行很久
就是想在按键按下后 就在中断里把n加一  然后跳转到打开文件的函数那儿 进行打开下一个文件
理论上 这样是很完美的。可是我这样做 程序就出错了
看下面错误提示
`{WY{}2KU2FV)PDNLC1A4O9.jpg

请问一下大神们 这个该怎么解决  或者有其他的方法可以跳转的
因为redfile函数是连续执行的,我无法通过标志位来判断进行break循环 只能在中断里进行跳转
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。