Arduino Pro Micro – выключить светодиоды

Я использую Arduino Pro Micro в качестве клавиатуры (устройство USB HID). Каждый раз, когда я нажимаю клавишу, загораются светодиоды RX и TX. Можно ли их отключить программно?

, 👍5


2 ответа


Лучший ответ:

6

Вроде того.

Вам не нужно менять pins_arduino.h.
Попробуйте LED_BUILTIN_TX и LED_BUILTIN_RX.
Контакты включаются и выключаются кодом порта SerialUSB. Это невозможно изменить без изменения библиотек Arduino. Установка этого вывода на INPUT в вашем скетче в функции setup() отключит их:

pinMode(LED_BUILTIN_TX,INPUT);
pinMode(LED_BUILTIN_RX,INPUT);

Если у вас возникли проблемы с LED_BUILTIN_TX и LED_BUILTIN_RX, вы также можете использовать это:

bitClear(DDRD,5);
bitClear(DDRB,0);

Код порта SerialUSB по-прежнему записывает данные на этот вывод, но как только они будут установлены как INPUT, этот код будет включать и выключать подтягивающий резистор. Это не проблема, поскольку эти светодиоды подключены к VCC.

Включить их также возможно, но тогда эти контакты должны быть ВЫХОДНЫМИ и НИЗКИМИ. Они не будут гореть при использовании порта SerialUSB.

,

2

Вроде того.

Вам потребуется отредактировать файл pins_arduino.h для платы Pro Micro, чтобы изменить определения TXLED0, TXLED1, < макросы code>RXLED0, RXLED1 и TX_RX_LED_INIT.

Вы хотите, чтобы все они были определены, но пусты.

#undef TXLED0
#undef TXLED1
#undef RXLED0
#undef RXLED1
#undef TX_RX_LED_INIT

#define TXLED0
#define TXLED1
#define RXLED0
#define RXLED1
#define TX_RX_LED_INIT

Это приведет к удалению текущих определений, а затем к созданию новых пустых определений. Без пустых определений вы получите ошибки при компиляции.

,