Ardunio Uart class & Libraries
Ardunio Uart class & Libraries
我试图将草图转换到库中,但失败了。
使用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;
希望能有所帮助。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- C++ MFC Libraries in Travis CI
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- "Undefined class"作为is_base_of的论据
- 如何将class.cpp和class.hpp编译为一个.o文件
- '{'标记之前的预期类名,然后在预声明时无效使用不完整的类型'class class_name'
- 如何使用"derived input class"创建派生类?
- 错误:"Left of getValue must have class/struct/union"
- ' class a : b ' 和 ' class a : public b ' 之间的继承类不同
- Pybind11 Class Definition
- 在C++中使用没有合作伙伴Class/Cpp文件的头文件是否实用
- C2011 'CMemDC':Visual Studio 2019中的'class'类型重新定义
- TypeError: [c++ addon class] 不是构造函数
- C++ class template
- 当初始值设定项是基类名时'initializer does not name a non-static data member or base class'错误
- Clearing Class Foo with new(pFoo) Foo()
- C++ class vs a library
- 继承类时"invalid use of incomplete type ‘class tree_node_t’"
- Ardunio Uart class & Libraries