I'm having trouble in calling a very typical function on a included file at setup()
in a single include (.h) file. Here is the extremely simple code:
serial_com.h file:
#pragma once
void setupSerial(int baud_rate);
serial_com.cpp file:
#include "serial_com.h"
void setupSerial(int baud_rate)
{
Serial.begin(baud_rate);
while (!Serial);
Serial.print("Serial com connected at: ");
Serial.println(baud_rate);
}
serial_setup.ino file:
#include "serial_com.h"
void setup()
{
setupSerial(9600);
}
void loop()
{
// Do nothing
}
This is pretty basic, right? And yet the compiler gives me the following error:
Arduino: 1.8.19 (Linux), Board: "Arduino Uno"
sketch/serial_com.cpp: In function ‘void setupSerial(int)’:
serial_com.cpp:5:5: error: ‘Serial’ was not declared in this scope
Serial.begin(baud_rate);
^
exit status 1
‘Serial’ was not declared in this scope
Can you help me with what's going on? The function Serial.begin(baud_rate)
is clearly an included one, is part of the core Arduino, so, how it can't find it? I need this specific kind of arrangement for my projects and if Arduino can't work this way it will make impossible my projects altogether!