NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
delay_init(); //延时函数初始化
uart_init(9600); //串口初始化为9600
LCD_Init(); //初始化液晶
LED_Init(); //LED初始化
KEY_Init(); //按键初始化
mem_init(); //初始化内存池
exfuns_init(); //为fatfs相关变量申请内存
f_mount(fs[0],"0:",1); //挂载SD卡
f_mount(fs[1],"1:",1); //挂载FLASH.
usmart_dev.init(72); //usmart初始化
while(font_init()) //检查字库 //LCD代码
{
LCD_Clear(WHITE); //清屏
POINT_COLOR=RED; //设置字体为红色
LCD_ShowString(60,50,200,16,16,"mini STM32");
while(SD_Initialize()) //检测SD卡
{
LCD_ShowString(60,70,200,16,16,"SD Card Failed!");
delay_ms(200);
LCD_Fill(60,70,200+60,70+16,WHITE);
delay_ms(200);
}
LCD_ShowString(60,70,200,16,16,"SD Card OK");
LCD_ShowString(60,90,200,16,16,"Font Updating...");
key=update_font(20,110,16);//更新字库
while(key)//更新失败
{
LCD_ShowString(60,110,200,16,16,"Font Update Failed!");
delay_ms(200);
LCD_Fill(20,110,200+20,110+16,WHITE);
delay_ms(200);
}
LCD_ShowString(60,110,200,16,16,"Font Update Success!");
delay_ms(1500);
LCD_Clear(WHITE);//清屏
}
POINT_COLOR=RED; //红色字体
LCD_ShowString(60,20,200,16,16,"DHT11 OK");
Show_Str(60,40,200,16,"温度: C",16,0);
Show_Str(60,60,200,16,"湿度: %",16,0);
//LCD_ShowString(60,80,200,16,16,"ADC_CH1_VAL:");
Show_Str(60,100,200,16,"辐射强度:0.000V",16,0);
Show_Str(60,80,200,16,"烟雾浓度:0.000V",16,0); //////////////////////////这里以上的汉字都能显示
POINT_COLOR=BLUE;//设置字体为蓝色
// LCD_ShowString(60,40,200,16,16,"Temp: C");
// LCD_ShowString(60,60,200,16,16,"Humi: %");
while(1)
{
if(t%10==0)//每100ms读取一次
{
DHT11_Read_Data(&temperature,&humidity); //读取温湿度值
LCD_ShowNum(60+40,40,temperature,2,16); //显示温度
LCD_ShowNum(60+40,60,humidity,2,16); //显示湿度
}
delay_ms(10);
t++;
if(t==20)
{
t=0;
LED0=!LED0;
}
adcx=Get_Adc_Average(ADC_Channel_1,10);
if(adcx<1000)
//Show_Str(60,120,200,16,"有火情",16,0);/////////////////////在while里这里的汉子显示不出来
//Show_Str(60,120,200,16,"无火情",16,0);///////////////////////////////////这里的汉子显示不出来
|