Ardunio Uart class & Libraries

Ardunio Uart class & Libraries

本文关键字:Libraries class Uart Ardunio      更新时间:2023-10-16

我试图将草图转换到库中,但失败了。

使用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端口丢失,启动时必须发生故障。必须按下重置按钮才能启动引导加载程序。

我似乎找不到哪里出了问题。

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

总的来说,它应该看起来像:

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

希望能有所帮助。