我是C++初学者,目前正在使用一个ARDUINO(类似于C++,我被告知在这里问这个问题)。
我写了以下代码:
int buttonPinState = digitalRead(buttonPin);
if (buttonPinState != lastButtonPinState) {
if (buttonPinState == 1) {
counter++; //Any random code goes here.
}
}
lastButtonPinState = buttonPinState;
在这段代码中,我可以将“counter++;”更改为任何需要执行的内容,是否可以用它来创建一个方法?
最佳答案
可以使用指向函数的指针作为参数,然后可以在if块中执行它。
void function(void (*arbitrary_function)()) {
int buttonPinState = digitalRead(buttonPin);
if (buttonPinState != lastButtonPinState) {
if (buttonPinState == 1) {
arbitrary_function();
}
}
lastButtonPinState = buttonPinState;
}
void arbitrary_function_1() {
// some code here
}
void arbitrary_function_2() {
// some other code here
}
void loop() {
...
function(&arbitrary_function_1);
...
function(&arbitrary_function_2);
...
}
关于c++ - 我可以用代码作为输入方法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40546270/