我有一个库,可以写入 arduino 上的串行端口。它使用形式的分配
#define UDRn UDR0
....
void write(uint8_t data) {
UDRn = data;
}
写作。据我了解,UDR0 是串口 0 的数据寄存器。#define 表示 UDRn 将是这个数据寄存器。该库有一个标志可以在编译时将 UDRn 更改为 UDR1。
但是,我想使用同一个库将不同的数据写入 Serial0 和 Serial1。所以我需要能够有一个写入 UDR0 的实例和一个写入 UDR1 的实例。可以统一这个吗?
就像是:
class Writer {
public:
write(uint8_t);
private:
register target;
}
void Writer::write(uint8_t data) {
target = data;
}
例如,我可以有指向寄存器的指针吗?