今天仔细研究了一下,这个程序,首先对于这个初始化IO的 函数
void init_PF0_IN(void)
{
*pFIO_DIR &= ~PF0;
*pFIO_INEN |= PF0;
}
对这个 函数我进行了但不运行,运行完这个 函数之后我查看寄存器,突然发现以下寄存器FIO_FLAG_D,FIO_FLAG_C,FIO_FLAG_S,
FIO_FLAG_T这四个寄存器突然由原来的0000变成了0001,也就是说,系统自动把这四个寄存器生成了0001.
而我把这个初始化程序修改了一下,如下所示
void init_PF0_IN(void)
{
*pFIO_DIR &= ~PF0;
*pFIO_INEN |= PF0;
*pFIO_FLAG_C=0X0000;
*pFIO_FLAG_S &=0X0000;
}
但是对与上面这个程序,我单步运行,运行到这个函数的最后一步的时候,我发现 FIO_FLAG_C和FIO_FLAG_S这两个 寄存器竟然还是0001,按理说我已经把他们赋值为 0000了,为什么 查看寄存器还是 0001呢
疑问一:难道只要把PF口配置成输入,系统就 会自动 把PF口设置为高电平 1
疑问二:为什么,我对那 两个 寄存器付了0000这个 值,但是她还 是顽固的 保持0001不变呢
疑问三:这个FIO_FLAG_T这个寄存器是 怎么 使用的