我正在使用Arduino Serial1读取命令:
void loop()
{
if (Serial1.available())
{
int commandNumber = Serial1.parseInt();
switch (commandNumber)
{
case 0: TestStraightMovement(1); break;
case 1: TestStraightMovement(-1); break;
}
}
}
我的代码输入TestStraightMovement
时,我将附加中断。然后
我想在接收到Rx引脚的信息时中断该命令,分离中断并返回主循环以读取另一个命令。但是在我的命令输入之前就调用了中断。
答案 0 :(得分:0)
这不是中断的工作方式,也不是中断的目的。中断将运行一些代码,然后将执行返回到发生中断时的位置。您使用了一个中断,以便在执行另一个函数的过程中发生某些事情,但是随后返回并完成了该函数。
如果要终止该功能并返回主循环,则不需要中断。您只需要重写该函数,即可以非阻塞方式检查任何输入,并可以在适当的时间退出。由于您没有发布太多代码,因此几乎不可能给您任何提示。