如果重新设置时间的情况下调用如下函数:
RTC_SetCounter(hour_sys * 3600 + min_sys * 60 + sec_sys);
通过按键切换时分秒调整的位置:
if(i == 1) LCD_SetTextColor(Green);
else LCD_SetTextColor(White);
LCD_DisplayChar(Line9, 200, hour_sys/10 + '0');//对应的数字转化为ASCII
LCD_DisplayChar(Line9, 185, hour_sys%10 + '0');
LCD_SetTextColor(White);
if(i == 2)LCD_SetTextColor(Green);
else LCD_SetTextColor(White);
LCD_DisplayChar(Line9, 155, min_sys/10 + '0');//对应的数字转化为ASCII
LCD_DisplayChar(Line9, 140, min_sys%10 + '0');
LCD_SetTextColor(White);
if(i == 3)LCD_SetTextColor(Green);
else LCD_SetTextColor(White);
LCD_DisplayChar(Line9, 110, sec_sys/10 + '0');//对应的数字转化为ASCII
LCD_DisplayChar(Line9, 95, sec_sys%10 + '0');
LCD_SetTextColor(White);
LCD_DisplayChar(Line9, 125, ':');
LCD_DisplayChar(Line9, 170, ':');
通过改变i的数值,将高亮显示进行移位控制。
这样的高亮显示确实显得很麻烦,但是不乏是一种很好的办法;还有另外一种方法就是把高亮显示效果单独写一个函数;有输入接口,对应的LCD数据的位置会根据你要显示高亮的位置进行对应;后面有时间再进行修改;