Ардунио Уарт класс и библиотеки

Я пытаюсь и не могу превратить эскиз в библиотеку.

Используя Arduino Zero.

В форме эскиза:

Переменная типа Uart определяется следующим образом:

Uart* serPort = &serial2;

Есть функция, которая переключается между &serial1 а также &serial2,

Это работает.

Теперь я пытаюсь реализовать то же самое в библиотеке:

Определяется в основном коде следующим образом:

Sender Sender(Serial2);

Вот заголовочный файл:

class Sender
{
 public:

   Sender(Uart PortIn);

   private:

   Uart* serPort;
};

Вот файл.cpp:

Sender::Sender(Uart PortIn)
{

   byte data[]={0xff,0xaa};
   serPort = &PortIn;

   serPort->write(data,2);

}

Это соответствует, но что-то должно произойти сбой при запуске, поскольку порт USB потерян. Кнопка сброса должна быть нажата, чтобы запустить загрузчик.

Я не могу найти, что не так.

1 ответ

Я думаю, что вам нужно отправить аргумент в качестве ссылки или указатель на конструктор.

В основном, это должно выглядеть примерно так:

Uart* serPort = new Uart();
serPort.setName("COMX");
serPort.setBaud(9600);
Sender s = new Sender(serPort);

....

delete serPort;

Надеюсь, поможет.

Другие вопросы по тегам