Сразу предупреждаю, что это не самое элегантное решение, но кажется самым банальным.
Забрасываете функцию мигания светодиода в бесконечный цикл с тем или иным условием выхода. Насколько понимаю, в вашем случае условием будет наличие SD-карты.
Пример:
void loop() {
while (!SD.begin(4)) {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000);
}
}
Не работал с W5100 и поэтому не совсем уверен касательно данного варианта, но можно также обратить внимание на возможность использования прерываний. Но только при условии, если вставленная/не- карта влияет на HIGH/LOW-уровень данного pin'a.
UPD. Данный вариант подойдёт в лучшем случае, если используете плату
Arduino Due