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();

主要是对你隐藏的。没有魔法,setuploop 是从 'main' 调用的普通函数。一切都很简单。

Arduino 只是 C++ 和 g++

arduino 中的 main 函数声明为 weak 并且您可以编写自己的 main 函数来替换原始函数,如本例所示:

第一个草图用我的(什么都不做)替换了 Arduino main,代码大小清晰可见。