Когда я пытался создать свой первый 3D-принтер (с электронным и программным обеспечением), меня остановили проблемы.
Я создаю большой библиотечный класс для работы с моими шаговыми двигателями.
Мой упрощенный код выглядит так:
#include "Config_TIMER.h"#include "Stepper_Control.h"
SMotor StepperX(41,40); // Constructor to create new X stepper motor object)
void setup(){
StepperX.MaxSpeed = 11; // set value of object max speed
InitializeTimer();
}
void loop(){
StepperX.Move(500); // move function
}
ISR(TIMER5_COMPA_vect){
TimerTick(); // using one of Steper motor function
}
Теперь моя проблема: все мои функции должны использовать StepperX.MaxSpeed
который был определен в setup()
функция (все другие функции используют значение .MaxSpeed
определяется конструктором). Есть ли какая-нибудь простая хитрость, чтобы связать все функции — использовать один и тот же объект?
В настоящее время все мои методы и переменные являются открытыми.
Задача ещё не решена.
Других решений пока нет …