設計でポート全体を見つけることができませんでしたが、プログラムを統一したいので (ピンを変更すると、この配列を変更するだけで済みます)、配列で定義して仮想ポートを作成します。操作するときは、これらの仮想ピンをそれぞれループに設定します。これは、以下のマクロ コードと同じです (もちろん、ポートとピンに対して 2 つの配列を別々に定義できます)。配列 (ピン) の長さは、コンパイル前は可変 1 (おそらく 2/3/4 ピン) ですが、これは重要ではありません。
unsigned char bitorder[]={PORTC,6,PORTD,2};
foreach i,j in (bitorder){
asm SBI i,j
// some delay or operation here
asm CBI i,j
}
これが可能なら?関数またはマクロを使用しますか? またはポインタ操作へのポインタ?