0

arduinoのシリアルポートに書き込めるライブラリがあります。フォームの割り当てを使用します

#define UDRn UDR0
....
void write(uint8_t data) {
    UDRn = data;
}

書き込み用。私の知る限り、UDR0 はシリアル ポート 0 のデータ レジスタです。#define は、UDRn がこのデータ レジスタになることを意味します。ライブラリには、コンパイル時に UDRn を UDR1 に変更するフラグがあります。

ただし、同じライブラリを使用して、Serial0 と Serial1 に異なるデータを書き込みたいと考えています。そのため、UDR0 に書き込む 1 つのインスタンスと、UDR1 に書き込むインスタンスを 1 つ持つことができる必要があります。これを統一することは可能ですか?

何かのようなもの:

class Writer {
    public:
        write(uint8_t);
    private:
        register target;   
}

void Writer::write(uint8_t data) {
    target = data;
}

たとえば、レジ​​スタへのポインタを取得できますか?

4

0 に答える 0