Ethernet.begin() конфликтует со встроенным светодиодом на Arduino Nano
У меня есть «клон» Arduino Nano, который я хотел бы использовать с экраном Ethernet ENC28J60. Я заметил, что когда я включаю/использую библиотеку UIPEthernet.h
, встроенный светодиод работает неправильно. Я написал следующий скетч, который я загрузил в Arduino и запустил как с, так и без Ethernet-шилда с тем же результатом: светодиод не мигает. Как только я закомментирую строку Ethernet.begin(mac)
, светодиод начнет нормально мигать.
Есть ли способ преодолеть этот конфликт?
#include <UIPEthernet.h>
EthernetClient ethClient;
uint8_t mac[6] = { 0x90, 0xA2, 0xDA, 0x0D, 0xE2, 0xCD };
void setup() {
Serial.begin(115200);
// If this line is commented, LED starts blinking:
Ethernet.begin(mac);
pinMode(LED_BUILTIN, OUTPUT);
Serial.println(F("setup() done."));
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}
@dma_k, 👍0
1 ответ
Лучший ответ:
▲ 2
Нет, нельзя.
Светодиод находится на контакте 13. Контакт 13 — это контакт синхронизации для SPI. ENC28J60 — это устройство SPI.
У вас либо есть контроль над контактом 13, либо у вас есть SPI. У вас не может быть обоих.
,
@Majenko
Смотрите также:
- Питание светодиодной ленты - Сколько ампер?
- Как управлять встроенными светодиодами Arduino Nano 33 BLE Sense?
- Есть ли функция Adafruit для инвертирования цветов моего экрана для языка Arduino?
- Почему некоторые контакты Arduino Nano (D3, D4, A3, A4, A6, A7) не могут быть установлены на высокий уровень?
- Мигающий светодиод при движении сервопривода
- Не удалось преобразовать «digitalWrite(8u, 1u)» из «void» в «bool»
- Можно ли запитать 25 светодиодов через USB?
- Как погасить светодиод за определенное время с помощью FastLED
Спасибо за эту информацию! Приятно знать, что. Возможно, есть какой-то способ «остановить» Ethernet и начать использовать светодиод? К сожалению, я не нашел
Ethernet.stop()
или что-то подобное., @dma_k