웹 서버에서 데이터를 읽는 Arduino 프로젝트가 있습니다.Arduino EthernetServer read()는 Serial이 초기화되고 읽기 문자가 인쇄 될 때만 작동합니다.
나는 콜백 함수에서 문자 단위로 데이터를 읽는 EthernetClient
을 가지고있다.
내 작업 코드 (단지 관련 부분)과 같습니다
void setup() {
Serial.begin(9600);
...
}
void loop() {
char* processedData = processData(callback); // this is in a external lib
}
boolean callback(char* buffer, int& i) {
...
if (Client.available()) {
char c = client.read();
buffer[i++] = c;
Serial.print(c);
}
...
}
이 (데이터를 읽고 처리) 아무 문제없이 작동하지만, 내가 Serial.begin(9600);
및 Serial.print(c);
을 제거 할 때 작동을 멈 춥니 다 내가 돈 ' 왜 그런지 알아? 변경된 유일한 점은 char c
이 인쇄되지 않는다는 것입니다. 무엇이 문제 일 수 있습니까?
그렇게하지 Arduino API를 알고 있고, 이더넷 주변 장치를 초기화하는 Serial.begin()입니까? 또는 UART 직렬 모니터 용입니다 (전송 속도 9600 힌트)? – Lundin
UART에만 해당되는 것 같아요. 그 후'Ethernet.begin (macAddress) '를 호출합니다. – tbraun89
Btw, 왜이 태그가 C입니까? 그것은 C++입니다. – Lundin