Arduino 中使用的语法完全是 C++ 还是偶尔有一些特殊语法
Is the syntax used in Arduino entirely C++ or is there some special syntax occassionally
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
我是 Arduino 的新手,具有非常基本的 C 语言经验,但也开始学习 C++,因为我听说 Arduino 是基于 C++ 的。
我现在的关键问题是上面的代码如何在没有“while”或 'for' 关键字的情况下实现一个循环(永远运行代码)?或者是否有一个名为 'loop' 的特殊函数可以发挥魔力?
因为在main函数中有
int main(void)
{
/* .... */
setup();
/*.......*/
for(;;) loop();
主要是对你隐藏的。没有魔法,setup
和 loop
是从 'main' 调用的普通函数。一切都很简单。
Arduino 只是 C++ 和 g++
arduino 中的 main
函数声明为 weak
并且您可以编写自己的 main
函数来替换原始函数,如本例所示:
第一个草图用我的(什么都不做)替换了 Arduino main,代码大小清晰可见。
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
我是 Arduino 的新手,具有非常基本的 C 语言经验,但也开始学习 C++,因为我听说 Arduino 是基于 C++ 的。 我现在的关键问题是上面的代码如何在没有“while”或 'for' 关键字的情况下实现一个循环(永远运行代码)?或者是否有一个名为 'loop' 的特殊函数可以发挥魔力?
因为在main函数中有
int main(void)
{
/* .... */
setup();
/*.......*/
for(;;) loop();
主要是对你隐藏的。没有魔法,setup
和 loop
是从 'main' 调用的普通函数。一切都很简单。
Arduino 只是 C++ 和 g++
arduino 中的 main
函数声明为 weak
并且您可以编写自己的 main
函数来替换原始函数,如本例所示:
第一个草图用我的(什么都不做)替换了 Arduino main,代码大小清晰可见。