0

我有一个库,可以写入 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;
}

例如,我可以有指向寄存器的指针吗?

4

0 回答 0