2019-08-14 18:41发布
辉常可乐 发表于 2017-3-13 19:44 代码移植应该是没问题的,将DHT11的DAT线接到了PA0脚上,以下分别是修改后DHT11的复位和初始化程序 void ...
正点原子 发表于 2017-3-12 18:17 代码移植对了么?
辉常可乐 发表于 2017-3-15 10:32 问题已经解决了,谢谢大家
最多设置5个标签!
将复位函数中 delay_us(20)改成 delay_ms(20)
代码移植应该是没问题的,将DHT11的DAT线接到了PA0脚上,以下分别是修改后DHT11的复位和初始化程序
void DHT11_Rst(void)
{
DHT11_IO_OUT(); //SET OUTPUT
DHT11_DQ_OUT=0; //?? DQ
delay_us(20); //???? 18ms
DHT11_DQ_OUT=1; //DQ=1
delay_us(30); //???? 20~40us
}
u8 DHT11_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //?? PG ????
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //PG11 ????
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //????
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure); //??? IO ?
GPIO_SetBits(GPIOA,GPIO_Pin_0); //PG11 ???
DHT11_Rst(); //?? DHT11
return DHT11_Check(); //?? DHT11 ???
}
楼主 请问你怎么解决的啊 我也有同样的问题,读取的温湿度值一直都为98 最开始是初始化错误,好不容@ 易弄好了,发现读取数据又是错误的 。
一周热门 更多>