今天从本论坛找了一个GPS授时C程序,是在LCD1602上显示时间日期的。我一看,跟我的开发板基本差不多。我就稍微改动一下,下载到我的板子上了。
发现时间是可以正常显示的。可是日期,出现问题了。年份和秒的两位,不断重复显示24这个数。好奇怪了。不知道哪里的问题。
原代码思路是把第八个逗号后面的数据保存到date[]数组内的。
if(dhcount==8) //逗号计数到8,后面的是日期数据
{date = ch; //保存到数组元素
i++;
}
数组显示代码如下:
nian=(date[4]-0x30)*10+(date[5]-0x30); //把年份取出改为十进制
yue=(date[2]-0x30)*10+(date[3]-0x30);
ri=(date[0]-0x30)*10+(date[1]-0x30);
LCD_xianshiZIFU("20",0,1); //显示20
LCD_xianshi(nian,2,1); //显示年份
LCD_xianshiZIFU("-",4,1); //显示“-”号
LCD_xianshi(yue,5,1);
LCD_xianshiZIFU("-",7,1);
LCD_xianshi(ri,8,1);
仔细看了看,没有可以修改date[]数组的地方啊。怎么会发生这样的问题?
下面附上我拍的视频,大家帮忙看看是怎么回事?
|