Ardunio Uart课程和图书馆

时间:2018-07-30 16:22:10

标签: c++ arduino samd21

我正在尝试将草图隐藏到库中。

使用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 个答案:

答案 0 :(得分:0)

我认为您需要将参数作为构造器的引用或指针发送。

在主要方面,它应该类似于:

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

....

delete serPort;

希望有帮助。