MSP430F4152单片机IO口采样温湿度数据,IO口该如何配置
代码如下:
char* Temp_hum_Collection(void)
{
int i=0,k=0,j=0;
MODEL_I0=1; //设为IO口模式
TEMP_DIR =1;//先将引脚拉高设为输出
TEMP_DIR_OUT =1;//输出高电平
TEMP_DIR_OUT =0;//电平拉低
DelayMs(20); //延时20ms确保DHT11能够检测到起始信号
TEMP_DIR_OUT =1;
DelayUs(40);//延时30us,等待读取DHT11的响应信号
TEMP_DIR=0; //将引脚拉低设为输入
if(TEMP_DIR_IN==0)//判断DTH11有没有发来响应信号
{
//while(TEMP_DIR_IN==1);
DelayUs(80);
while(TEMP_DIR_IN==0);
if(TEMP_DIR_IN==1)
{
DelayUs(80);
while(TEMP_DIR_IN==1);
for(j=0;j<40;j++)
{
if(TEMP_DIR_IN==0)
{
while(i<5)
{
DelayUs(10);
i++;
}
while(TEMP_DIR_IN==1);
if(TEMP_DIR_IN==1)
{
while(TEMP_DIR_IN==1)
{
DelayUs(2);
k++;
}
if((13<=k)&&(k<=14))
{
TempHumData[j]=0;
}
if(k>=35)
{
TempHumData[j]=1;
}
}
}
}
}
}
return TempHumData;
}