drdunio函数里面loop函数不一步一步执行自己写的函数
在Arduino编程中,loop函数是一个无限循环的函数,它会不断地重复执行自己的代码。通常情况下,loop函数会尽快执行完自己的代码,然后再次开始下一轮循环。
如果你想要在loop函数中调用自己编写的函数,并且希望这些函数能够逐步执行,可以使用一些技巧来实现。
一种常见的方法是使用状态机(State Machine)的概念。你可以定义一个状态变量,并在loop函数中根据不同的状态执行相应的代码。每次循环时,根据当前的状态,执行对应的函数,然后更新状态变量。
以下是一个简单的示例代码,演示如何使用状态机在loop函数中逐步执行自定义的函数:
// 定义状态枚举
enum State {
STATE_1,
STATE_2,
STATE_3,
STATE_4
};
// 定义当前状态变量
State currentState = STATE_1;
void setup() {
// 初始化代码
}
void loop() {
// 根据当前状态执行对应的代码
switch(currentState) {
case STATE_1:
// 执行函数1的代码
function1();
// 更新状态变量
currentState = STATE_2;
break;
case STATE_2:
// 执行函数2的代码
function2();
// 更新状态变量
currentState = STATE_3;
break;
case STATE_3:
// 执行函数3的代码
function3();
// 更新状态变量
currentState = STATE_4;
break;
case STATE_4:
// 执行函数4的代码
function4();
// 更新状态变量
currentState = STATE_1;
break;
}
}
// 自定义函数1
void function1() {
// 函数1的代码
}
// 自定义函数2
void function2() {
// 函数2的代码
}
// 自定义函数3
void function3() {
// 函数3的代码
}
// 自定义函数4
void function4() {
// 函数4的代码
}
在上述示例代码中,我们使用了一个名为currentState的状态变量,并根据不同的状态执行相应的函数。每次循环时,根据当前状态的不同,执行对应的函数,并更新状态变量,实现了逐步执行自定义函数的效果。
当然,这只是一个简单的示例,你可以根据自己的需求和代码逻辑来设计和扩展状态机
原文地址: http://www.cveoy.top/t/topic/hNxs 著作权归作者所有。请勿转载和采集!