因为我在我的设计中找不到整个端口,但我希望我的程序变得统一(当我更改引脚时,我只需要更改这个数组),所以我想通过在数组中定义它们来创建一个虚拟端口。操作时,我想将每个虚拟引脚设置为循环。这就像下面的那些宏代码(当然我可以为端口和引脚分别定义 2 个数组)。数组(引脚)的长度在编译之前是可变的(可能是 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
}
如果这可能?使用函数还是宏?还是指向指针操作的指针?