|
如题,做一个环境检测系统,用了SHT31和GY39,一时兴起,就把两个温湿度拿来比比,然后发现LCD1602第二排显示错误,湿度的%RH后面多出了两个HH,在按下按键(显示大气压力和光照时)第二排变成了KPaaa,多了两个aa但是程序里应该是没有写入重复字符的啊求教
下面是主程序部分的LCD部分程序
LcdInit();
if(count==1)
{
LcdWriteData(Bme.Temp/1000+0X30);
LcdWriteData(Bme.Temp%1000/100+0X30);
LcdWriteData('.');
LcdWriteData(Bme.Temp%100/10+0X30);
LcdWriteData(0xdf);
LcdWriteData('C');
LcdWriteData(' ');
LcdWriteData(' ');
LcdWriteData(' ');
LcdWriteData(Bme.Hum/1000+0x30);
LcdWriteData(Bme.Hum%1000/100+0x30);
LcdWriteData('%');
LcdWriteData('R');
LcdWriteData('H');
LcdWriteCom(0x40+0x80);
LcdWriteData(a/10+0X30);
LcdWriteData(a%10+0X30);
LcdWriteData('.');
LcdWriteData(b%10+0X30);
LcdWriteData(0xdf);
LcdWriteData('C');
LcdWriteData(' ');
LcdWriteData(' ');
LcdWriteData(' ');
LcdWriteData(c/10+0X30);
LcdWriteData(c%10+0X30);
LcdWriteData('%');
LcdWriteData('R');
LcdWriteData('H');
delay(50000);
}
else if(count==2)
{
LcdWriteData('L');
LcdWriteData('u');
LcdWriteData('x');
LcdWriteData(':');
LcdWriteData(Lux/100000+0X30);
LcdWriteData(Lux%100000/10000+0X30);
LcdWriteData(Lux%10000/1000+0X30);
LcdWriteData(Lux%1000/100+0X30);
LcdWriteData('.');
LcdWriteData(Lux%100/10+0X30);
LcdWriteData(Lux%10+0X30);
LcdWriteCom(0x40+0x80);
LcdWriteData('P');
LcdWriteData(':');
LcdWriteData(Bme.P/100/100000+0x30);
LcdWriteData(Bme.P/100%100000/10000+0x30);
LcdWriteData(Bme.P/100%10000/1000+0x30);
LcdWriteData('.');
LcdWriteData(Bme.P/100%1000/100+0x30);
LcdWriteData(Bme.P/100%100/10+0x30);
LcdWriteData(Bme.P/100%10+0x30);
LcdWriteData('k');
LcdWriteData('p');
LcdWriteData('a');
delay(50000);}
|
-
图1.jpg
(721.92 KB, 下载次数: 35)
第二排那个后面多两个H
-
图2.jpg
(3.2 MB, 下载次数: 33)
多了两个a
|