我用mini板的PA0口作DHT11数据线,DHT11相关程序全部照抄的战舰DHT11例程,然后用PRINTF将结果输出到串口用串口调试助手查看。结果全为0,然后我用DHT11_Read_Bit()函数查看,发现接收到的每一个bit都是0,对DHT11呼气,所有的bit都为1 .修改判断0或1的delay函数,发现几乎所有Bit都在21us样子的时候变为0,请问一下这个是什么原因啊? 跪求大神帮我解答一下嘛
[mw_shl_code=c,true]#include "stm32f10x.h"
#include "delay.h"
#include "DHT11.h"
#include "led.h"
#include "usart.h"
u8 t=0;
u8 temp,humi;
int main(void)
{
u8 i;
//NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200);
delay_init();
DHT11_Init();
led_init();
//temp=1;
while(DHT11_Init())
{
printf("ERROR
");
}
while(1)
{
// DHT11_IO_OUT();
// DHT11_DQ_OUT=1;
// DHT11_Reset();
// DHT11_Check();
// //printf("on");
//printf("%d",GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0));
//if(t%10==0)
//DHT11_Read_Data(&temp,&humi);
DHT11_Reset();
if(DHT11_Check()==0)
{
DHT11_Read_Bit();
printf("R%d ",DHT11_Read_Bit());
// printf("%d ",DHT11_Read_Bit());
//delay_ms(20);
}
//printf("%d",DHT11_Read_Data(&temp,&humi));
//t=0;
// delay_ms(20);
}
}[/mw_shl_code]
如图
一周热门 更多>