如何从 Arduino IDE 中的 .c 文件调用 Serial.print()?

How to call Serial.print() from .c file in Arduino IDE?

我在 Arduino 中有两个文件 IDE。一个是 .ino 文件,一个是 .c 文件。

main.ino:

#include "somefile.c"

void setup(){
    Serial.begin(9600);
    // Do something
}

void loop(){
    // Do something
}

somefile.c 我想打电话给 Serial.print()。我怎样才能做到这一点?谢谢!

创建一个my_logging.h文件
void my_log(const char *msg);

创建一个my_logging.cpp文件
#include <Arduino.h>
extern "C" {
  #include "my_logging.h"
}

void my_log(const char *msg) {
  Serial.println(msg);
}

然后在您的 c 文件中包含 my_logging.h 文件,您可以使用 my_log 函数

你不需要扭曲任何东西。只需使用 Serial.begin(somebaudhere),然后在 somefile.c 中您需要 #include <Arduino.h>。它将正常工作。