void loop() {
if(Serial.available()){
select=Serial.parseInt();
switch(select){
case 1:
Serial.println("드론의 현재위치 GPS 값");
gpsvalue(gps);
Serial.println("===========================================================================");
break;
case 2:
caseselect();
Serial.println("===========================================================================");
break;
case 3:
Serial.println("입력된 위도,경도 : ");
if(latitude==0) {
Serial.println("입력되지 않았습니다.");
}
if(latitude!=0){
Serial.print(latitude) ;
Serial.print(wd);
Serial.print(" , ");
Serial.print(longitude );
Serial.println(kd);
}
Serial.println("===========================================================================");
break;
// case 4 입력값 초기화
default:
Serial.println("잘못된 입력입니다 1: 현재 GPS값 , 2: GPS값 입력모드, 3: 입력된 GPS 값 확인");
Serial.println("===========================================================================");
break;
}
}
}
void caseselect()
{
Serial.println("원하는 GPS 값 입력 ");
Serial.println("위도입력(xxxx.xxxx) : ");
while(Serial.available() ==0) {}
latitude=Serial.parseInt();
Serial.println(latitude);
Serial.println("위도방위 : ");
while(Serial.available() ==0) {}
if(wd='E'||'W'||'S'||'N'){
wd = Serial.read();
Serial.println(wd);}
Serial.println("경도입력(xxxx.xxxx) :" );
while(Serial.available() ==0) {}
longitude = Serial.parseInt();
Serial.println(longitude);
Serial.println("경도방위 : ");
while(Serial.available() ==0) {}
kd = Serial.read();
Serial.println(kd);
}
------------------------------------------------------------------------------------------------------------
case 2번에서 입력시에 xxxx.xxxx 로 입력을 하고싶은데 배열을 어떻게 사용해야 할지 모르겠습니다
또 위도방위 Serial.available에서 읽지 않은 버퍼를 읽어올때 E W S N 이 아닐경우 다시 입력하라고 하고싶은데 if 문을 써야하나요?
Serial.available >0 을 하면 위도입력에서 경도방위까지 한번에 슥 나와버려서 고민하고 있습니다..
|