int main(void)
{
u8 t=0;
u8 temperature;
u8 humidity;
Stm32_Clock_Init(9); //系统时钟设置
uart_init(72,115200); //串口初始化为115200
delay_init(72); //延时初始化
LED_Init(); //初始化与LED连接的硬件接口
// LCD_Init(); //初始化LCD
// POINT_COLOR=RED; //设置字体为红色
// LCD_ShowString(30,50,200,16,16,"WarShip STM32");
// LCD_ShowString(30,70,200,16,16,"DHT11 TEST");
// LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
// LCD_ShowString(30,110,200,16,16,"2015/1/16");
while(DHT11_Init()) //DHT11初始化
{
// LCD_ShowString(30,130,200,16,16,"DHT11 Error");
LED0=1;
delay_ms(200);
// LCD_Fill(30,130,239,130+16,WHITE);
LED0=0;
delay_ms(200);
}
// LCD_ShowString(30,130,200,16,16,"DHT11 OK");
// POINT_COLOR=BLUE;//设置字体为蓝色
// LCD_ShowString(30,150,200,16,16,"Temp: C");
// LCD_ShowString(30,170,200,16,16,"Humi: %");
while(1)
{
if(t%100==0) //每100ms读取一次
{
DHT11_Read_Data(&temperature,&humidity); //读取温湿度值
// LCD_ShowNum(30+40,150,temperature,2,16); //显示温度
// LCD_ShowNum(30+40,170,humidity,2,16); //显示湿度
printf("%s%d%s%d","wendu:",temperature,"/r/nshidu:",humidity);
}
delay_ms(10);
t++;
if(t==20)
{
t=0;
LED1=!LED1;
}
}
}
我只想串口打印出温湿度信息,但注释掉LCD_Init后打印出来的就不对了,温湿度不对,加上液晶初始化就正常。
这是咋回事,望解答谢谢
|