아두이노로 UART TxRx Loop 테스트를 하려고 합니다.
외부 신호가 입력되는 시점에서 특정 문자열을 출력하여 출력된 문자열을 다시 받는 테스트 프로그램을 만들고 싶습니다.
간단한 설명이나 예제 부탁 드립니다.
55글자 더 채워주세요.
1개의 답변이 있어요!
안녕하세요.
이전에 제가 coding했던 내용 수정하여 올려봅니다.
설명은 주석으로 달아두었습니다.
int led_4 = 4; //문자열 수신 확인 출력 신호 int led_11 = 11; //문자열 전송 trigger 신호 int bt_state = 0; // 통신 상태 flag String inputString = ""; boolean stringComplete = false; //문자열 수신 완료 flag void setup() { Serial.begin(9600); //UART baud rate Serial.println("Hello~"); //출력할 문자열 pinMode(led_4, OUTPUT); pinMode(led_11, INPUT); String inputString = ""; boolean stringComplete = false; } void loop() { bt_state = digitalRead(led_11); if(bt_state == 1) { digitalWrite(led_4, HIGH); Serial.println("ABCDEFG"); } else digitalWrite(led_4, LOW); delay(20); if(stringComplete) { inputString = ""; stringComplete = false; } } void serialEvent() { while (Serial.available()) { char inChar = (char)Serial.read(); inputString += inChar; if (inChar == '\n') { stringComplete = true; } } }