在VDSP自带的头文件中,已经对FIO_DIR做了宏定义,其定义用指针指向寄存器的绝对地址。
你可以认为做了以下定义:
#define pFIO_DIR (volatile unsigned short *)(0xFFC00730)
0xFFC00730为该寄存器绝对地址,通过帮助文件查找 FIO_DIR 可以找到。
PF0的定义为
#define PF0 0x00000001
*pFIO_DIR &= ~PF0
转化为 *pFIO_DIR &= 0xfffffffe;
表示将*pFIO_DIR的Bit0 位清除为0,其他位保持不变。
p为C语言中指针的标识,在宏定义时定义了p表示该宏定义为一个指针。你如果自己定义,也可以不写p。