Коллеги, добрый день. Подскажите, с чем связано то, что экземпляр класса в программах для Arduino создаётся не в функции setup() а на глобальном уровне, если можно так сказать. Вот типовой пример: Код (C++): #include <SPI.h> #include <RFID.h> #define SS_PIN 10 #define RST_PIN 9 RFID rfid(SS_PIN, RST_PIN); void setup() { SPI.begin(); rfid.init(); } почему нельзя (не принято) писать так: Код (C++): #include <SPI.h> #include <RFID.h> #define SS_PIN 10 #define RST_PIN 9 void setup() { SPI.begin(); RFID rfid(SS_PIN, RST_PIN); rfid.init(); } Буду благодарен за совет или ссылку.
Во втором варианте rfid - локальная переменная ф-ии setup(), после выхода из нее она перестает существовать
Можно создавать объект внутри функции при условии, что после выхода из функции объект больше не нужен.