microSD카드가 OPENCR1.0에서 인식이 되지 않습니다

이전에도 같은 주제로 SD카드 인식이 안되는 주제를 올렸는데 결과적으로는 GPIO의 번호가 제대로 입력되지 않아서 나온 문제로 확인이 되었습니다.
그러나 이번에는 GPIO번호를 제대로 입력하였음에도 문제가 발생하였습니다. 이에 조언이 필요한 상황입니다.

사용환경
OS : ubuntu 20.04
Arduino version 1.8.19
OPENCR version 1.5.0

사용코드
#include <SPI.h>
#include <SD.h>

File myFile;

void setup() {
Serial.begin(57600);
Serial.println(“Initialize”);

if (!SD.begin(51)) {
Serial.println(“Initialize failed”);
while (1);
}

Serial.println(“Initialize success!”);

myFile = SD.open(“TEST.txt”);

if (myFile) {
Serial.print("TEST.txt read : ");
while (myFile.available()) {
Serial.write(myFile.read());
}
Serial.println(“complete”);
}
else {
Serial.println(“TEST.txt error”);
}
}

void loop() {

}

위 코드에서 if (!SD.begin(51))으로 하고 GPIO 4번에 SD카드 리더기의 CS핀을 꽂아서 테스트해보았습니다.
같은 코드를 사용하여 아두이노 메가에서 테스트할 땐 문제가 없었습니다.
어떻게 해결 하면 좋을지 조언을 요청합니다.

안녕하세요.

Serial.begin(57600); 다음에 아래 코드와 같이 시리얼 연결을 대기하는 코드를 추가 후에 사용해 주세요.

시리얼 포트가 안정적으로 초기화될 때까지 대기 후에 sd 부분 작업을 안전하게 실행합니다.

아두이노 메가와 같은 보드에서는 USB 시리얼 포트가 빠르게 초기화되어 대기 부분 없이 프로그램이 정상적으로 작동할 수 있습니다.

하지만, OpenCR와 같은 특정 보드에서는 시리얼 포트의 초기화 시간이 더 오래 걸릴 수 있어서, 이 대기 코드를 포함하는 것이 좋습니다.

아래와 같이 추가 후 정상 동작 확인 했습니다.

Serial.begin(57600);
while (!Serial) {
; // 대기
}

감사합니다. 해당 대기 코드를 추가하니 정상적으로 가져오는 것을 확인하였습니다.