#variables #arduino #arduino-uno #stepper
#переменные #arduino #arduino-uno #шаговый
Вопрос:
У меня возникли проблемы с тем, как мои библиотечные переменные взаимодействуют с объявлением объекта шагового двигателя. Я получаю ошибку «переменная не была объявлена в этой области». У кого-нибудь есть какие-либо советы? Я опубликую ссылку на ветку, в которой находится мой код. Пожалуйста, простите за текущую настройку папки в ветке. Я нахожусь на альфа-стадии этого кода.
https://github.com/HullabalooRobotics/Soldering-Machine/tree/testBranch/SolderingMachine
Мой объект, созданный в .cpp, не извлекается из массивов, которые я создал в .h, когда я считаю, что это должно быть. Я открыт для любых советов!
Ответ №1:
В вашем коде
Stepper stepperA(60,_stepperMotorPinA[0], _stepperMotorPinA[1], _stepperMotorPinA[2], _stepperMotorPinA[3]);
Stepper stepperB(60,_stepperMotorPinB[0], _stepperMotorPinB[1], _stepperMotorPinB[2], _stepperMotorPinB[3]);
Stepper stepperC(60,_stepperMotorPinC[0], _stepperMotorPinC[1], _stepperMotorPinC[2], _stepperMotorPinC[3]);
Servo solderServo;
Является частью глобальной области видимости, как таковой, у него нет доступа к экземплярам _stepperMotorPin *, которые являются свойствами экземпляра вашего класса.
Чтобы ваш код работал должным образом, вам нужно будет сделать экземпляры stepper * частью вашего класса в качестве свойств и инициализировать их внутри функции класса.
Комментарии:
1. Привет, Нитро! Поскольку это мой первый вопрос, я рад видеть такой быстрый ответ. Однако, будучи начинающим программистом, я не уверен, что понимаю. Чтобы быть более точным, я не следую вашему второму абзацу (я уверен, что это правильно, мне просто нужно немного больше объяснений). Я попытался переместить объявление объекта шагового двигателя (я думаю, именно так вы это говорите) в закрытый раздел класса SolderingMachine, но столкнулся со многими ошибками компиляции. Я также попытался поместить их в конструктор библиотеки с аналогичными результатами. Что это за способ поместить их в их собственную функцию для их инициализации?