这样的报错怎么解决,还在学习,不能很好解决
#include <LiquidCrystal.h> //LCD1602显示头文件
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int lcd_key = 0;
int adc_key_in = 0;
adc_key_in = analogRead(0);
#define btnRIGHT 0
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnSELECT 4
#define btnNONE 5
unsigned long seconds;
int s = 0, m = 0, h = 0; //时间进位
int second=0,minute=0,hour=0;//当前时间
int SECOND = 0, MINUTE = 0, HOUR = 0; //初始时间
int chose = 0, ButtonDelay = 10;
/** 设置初始时间 */
void set(int h, int m, int s){
HOUR = h;
MINUTE = m;
SECOND = s;
}
void setup(){
for(int i = 2;i <= 13; i++){
pinMode(i,OUTPUT);
}
lcd.begin(16, 2); //初始化LCD1602
set(12, 30, 50);
}
/** 格式化输出 */
void FormatDisplay(int col, int row,int num){
lcd.setCursor(col, row);
if(num < 10){
lcd.print("0");
}
lcd.print(num);
}
/** 计算时间 */
void time(){
second = (SECOND + seconds) % 60; //计算秒
m = (SECOND + seconds) / 60; //分钟进位
FormatDisplay(6,1,second);
minute = (MINUTE + m) % 60; //计算分钟
h = (MINUTE + m) / 60; //小时进位
FormatDisplay(3,1,minute);
hour = (HOUR + h) % 24; //计算小时
FormatDisplay(0,1,hour);
lcd.setCursor(2, 1); lcd.print(":");
lcd.setCursor(5, 1); lcd.print(":");
}
/** 显示时间 */
void Display(){
time();
}
/** 显示光标 */
void DisplayCursor(int rol, int row){
lcd.setCursor(rol, row);
lcd.cursor();
delay(100);
lcd.noCursor();
delay(100);
}
/** 通过按键设置时间 */
void Set_Time(int rol, int row, int &Time){
DisplayCursor(rol, row);
int read_LCD_buttons();
}
if (adc_key_in < 250) return btnUP;
if (adc_key_in < 450) return btnDOWN;
if (adc_key_in < 850) return btnSELECT;
switch (lcd_key) // 选择按键
{
case btnUP:
{
Time ++;
break;
}
case btnDOWN:
{
Time --;
break;
}
case btnSELECT:
{
lcd.setCursor(9, 1); lcd.print("SetTime");
while(1){
chose++;}
break;}
}
seconds = millis()/1000;
Display();
if(chose == 1){
Set_Time(1, 1, HOUR); //SetHour
}else if(chose == 2){
Set_Time(4, 1, MINUTE); //SetMinute
}else if(chose == 3){
Set_Time(7, 1, SECOND); //SetSecond
}
void loop(){
seconds = millis()/1000; //获取单片机当前运行时间
Display(); //显示时间
Set_Clock(); //设置时间
}