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;
}
たとえば、レジスタへのポインタを取得できますか?