void LCD_Display(void)
{
uchar num = 0;
LCD_WriteCom(0x80); //设置初始位置
while(num<6)
{
LCD_WriteDate(temperature[num]);
num++;
}
}
/*void LCD_Display(uchar *p)
{
uchar num = 0;
LCD_WriteCom(0x80); //设置初始位置
while(num<6)
{
LCD_WriteDate(p[num]);
num++;
}
}*/
调用前一个函数后,刚开始正常显示,例:11.2°C;接着1秒左右以后显示屏上的前2位数字会一直变化,其中第一位会出现如字母或日文这样的乱码,如:a2.2°C。
而调用第二个函数时,一切正常。
以下为主程序(其中temperature为全局变量,其他代码都是一样的)
void main()
{
LCD_Init();
while(1)
{
DealTemperature(ReadTemperature()); //对读取的数据进行处理
LCD_Display();
//
LCD_Display(temperature);
}
不知道为什么会产生上述现象,请朋友们指教!谢谢! |