아두이노 코딩 질문있습니다!!
조회수 454회
아두이노와 안드로이드와 블루투스 통신을 하는 중에 안드로이드에서 스위치를 켜거나 끔에 따라 아두이노가 제어될 수 있도록 하고싶은데 잘 안됩니다. 도와주세요
while(BTSerial.available()){ //블루투스
char data = BTSerial.read();
CharData = data;
}
Serial.println("while 밖의 CharData : " + CharData);
int Mode = CharData.toInt();
Serial.println(Mode);
if (Mode == 1) {
soundMode = 1;
Serial.println(" soundMode : " + soundMode);
Serial.println("ringMode : " + ringMode);
} else if(Mode == 2) {
soundMode = 0;
Serial.println(" soundMode : " + soundMode);
Serial.println("ringMode : " + ringMode);
} else if(Mode == 3) {
ringMode = 1;
Serial.println(" soundMode : " + soundMode);
Serial.println("ringMode : " + ringMode);
} else if(Mode == 4) {
ringMode = 0;
Serial.println(" soundMode : " + soundMode);
Serial.println("ringMode : " + ringMode);
} else {
Serial.println("eeerrrorororororororor");
}
CharData는 전역변수 string타입으로 설정했고 ringMode, soundMode는 전역변수 int 로 설정해두었습니다.
실행시켜보면
Serial.println("while 밖의 CharData : " + CharData);
int Mode = CharData.toInt();
Serial.println(Mode);
스위치를 제어했을 때 0~4까지 시리얼 모니터에 잘 찍히는데 if문 안에서 변수들이 빈 상태로 나옵니다.. 스위치문으로 바꿔봐도 결과는 똑같습니다. 도와주세요.
++ data를 String 타입으로 받으면 아스키코드로 나오는데 이거에 따라서 49~52로 바꿔도 똑같습니다..
댓글 입력