//IO方向设置
#define IO_IN() {GPIOC->CRL&=0XFF0FFFFF;GPIOC->CRL|=8<<6; }
#define IO_OUT() {GPIOC->CRL&=0XFF0FFFFF;GPIOC->CRL|=3<<6;}
//IO操作函数
#define AM2301Out PCout(5)
#define AM2301In PCin(5)
请问AM2301Out=1;或AM2301Out=0 是不是只能够在配置了IO_OUT() 才能够使用 ??? (AM2301In=1或AM2301In=0 同理 )
如果是的话那在原子哥位IIC的程序里面怎么会有
u8 IIC_Wait_Ack(void)
{
u8 ucErrTime=0;
SDA_IN(); //SDA设置为输入
IIC_SDA=1;delay_us(1);
IIC_SCL=1;delay_us(1);
while(READ_SDA)
{
ucErrTime++;
if(ucErrTime>250)
{
IIC_Stop();
return 1;
}
}
IIC_SCL=0;//时钟输出0
return 0;
}
在这里配置了输入模式( SDA_IN();)但是却使用了(IIC_SDA=1;) 不知道是不是我的理解有错误,请教!!!!!!!! |