[mw_shl_code=c,true]while(1)
{
//传感器部分:
if(t1%10==0)//每100ms读取一次
{
DHT11_Read_Data(&temperature,&humidity); //读取温湿度值
LCD_ShowNum(30+40,150,temperature,2,16); //显示温度
LCD_ShowNum(30+40,170,humidity,2,16); //显示湿度 }
delay_ms(10);
t1++;
if(t1==20)
{
t1=0;
}
//触摸控制部分:
tp_dev.scan(0);
for(t=0;t<OTT_MAX_TOUCH;t++)
{
if((tp_dev.sta)&(1<<t))
{
if((300<tp_dev.x[t]&&tp_dev.x[t]<420)&&(140<tp_dev.y[t]&&tp_dev.y[t]<260))
{
if(led0pwmval<500)
led0pwmval+=10;
TIM_SetCompare1(TIM14,led0pwmval);
}
if((300<tp_dev.x[t]&&tp_dev.x[t]<420)&&(540<tp_dev.y[t]&&tp_dev.y[t]<660))
{
if(led0pwmval>0)
led0pwmval-=10;
TIM_SetCompare1(TIM14,led0pwmval);
}
if(led0pwmval>300)
{
LED1=0;
POINT_COLOR=RED;
Show_Str(260,450,200,24,"警告:过亮",24,0);
POINT_COLOR=WHITE;
Show_Str(260,420,200,24,"亮度正常",24,0);
}else
LED1=1;
POINT_COLOR=BLUE;
Show_Str(260,420,200,24,"亮度正常",24,0);
POINT_COLOR=WHITE;
Show_Str(260,450,200,24,"警告:过亮",24,0);
if(tp_dev.x[t]<240&&tp_dev.y[t]<400)
{
if(beeppwmval<300)
beeppwmval+=10;
TIM_SetCompare1(TIM13,beeppwmval);
}
if(tp_dev.x[t]<240&&tp_dev.y[t]>400)
{
if(beeppwmval>0)
beeppwmval-=10;
TIM_SetCompare1(TIM13,beeppwmval); //输出
}
}delay_ms(5);
}
}[/mw_shl_code]
如上述循环内代码,当不触摸屏幕时,传感器数据正常读取并显示在屏幕上;但是,当一旦触摸屏幕之后,可以实现触摸控制的功能,但是传感器的数据立即消失并且不再显示,为什么会这样,怎么实现这两种功能兼容?本人基础较差,望各位耐心指导,感激不尽!(4.3电容显示屏,探索者开发板)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
得查。。。
看看是不是读ID出错了。
一周热门 更多>