ELSOMIK в Arduino IDE
Подробную информацию о платах ELSOMIK можно найти в соответствующем разделе.
Функциональное назначение выводов платы ELSOMIK OEM

Функциональное назначение выводов платы ELSOMIK SE

Загрузка скетчей
На плате отсутствуют встроенные преобразователи, позволяющие загружать скетчи по USB через COM-порт, однако каждая плата поставляется с предварительно записанным начальным загрузчиком. Для записи скетчей через USB потребуется использование внешнего USB-UART преобразователя, подключаемого к выводам платы P0_5 (RX0) и P0_6 (TX0), которые соответствуют интерфейсу UART0. Для корректной работы так же может потребоваться установка на ПК драйвера для микросхемы, используемой в USB-UART преобразователе.
Перед загрузкой скетча необходимо кратковременно ввести контроллер в состояние RESET. Если используется USB-UART преобразователь с выведенным сигналом DTR, необходимо соединить DTR с выводом RST на плате через керамический конденсатор емкостью от 0,47 мкФ до 2,2 мкФ. В случае отсутствия сигнала DTR, необходимо вручную соединить вывод RST платы с землей и отпустить его непосредственно перед началом записи скетча.
Для записи начального загрузчика или загрузки скетчей с помощью программатора необходимо подключить программатор (например, ELJTAG) к выводам TDO, TDI, TCK, TMS, TRST, GND, 3V3, RST. Инструкцию по использованию программатора в Arduino IDE можно найти в разделе Запуск ELBEAR с программатором ELJTAG.
Цифровые выводы
Выводы на плате ELSOMIK пронумерованы в соответствии с их принадлежностью к определенному GPIO-порту и конкретному пину внутри порта. Чтобы использовать цифровой вывод, необходимо передать в функцию номер порта и номер пина в формате P0_1, где "0" — это номер порта, а "1" — номер пина внутри порта. Например, для инициализации вывода 5 порта 1 на выход необходимо вызвать функцию pinMode(P1_5, OUTPUT).
Для использования доступны следующие выводы: P0_0 ... P0_15, P1_0 ... P1_15, P2_6, P2_7. Выводы P0_11 ... P0_15 на плате обозначены иначе, ниже представлена таблица соответствия:
| Обозначение на плате | Номер вывода |
|---|---|
| TDI | P0_11 |
| TCK | P0_12 |
| TMS | P0_13 |
| TRST | P0_14 |
| TDO | P0_15 |
АЦП
На плате доступно 8 выводов, которые можно использовать в качестве каналов АЦП. Для работы с ними в функцию analogRead() необходимо передать номер канала или номер соответствующего цифрового вывода. Доступные каналы и их соответствие номерам выводов платы:
| Цифровой вывод | Номер канала АЦП |
|---|---|
| P1_5 | A0 |
| P1_7 | A1 |
| P0_2 | A2 |
| P0_4 | A3 |
| P0_7 | A4 |
| P0_9 | A5 |
| P0_11 | A6 |
| P0_13 | A7 |
ШИМ
На плате ELSOMIK в ArduinoIDE доступно 8 выводов для формирования ШИМ-сигнала. Генерация сигнала осуществляется с помощью 32-битного таймера. Выводы, подключенные к одному и тому же таймеру, выдают ШИМ-сигнал одинаковой частоты.
Доступные выводы:
| Цифровой вывод | Используемый таймер |
|---|---|
| P0_0 | таймер 1 |
| P0_1 | таймер 1 |
| P0_2 | таймер 1 |
| P0_3 | таймер 1 |
| P1_0 | таймер 2 |
| P1_1 | таймер 2 |
| P1_2 | таймер 2 |
| P1_3 | таймер 2 |
При работе SPI формирование ШИМ сигнала на выводах, которые используются выбранным экземпляром SPI, недоступно.
Прерывания
На плате ELSOMIK доступно 8 прерываний, настраиваемых функцией void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode):
| Цифровой вывод | Номер прерывания |
|---|---|
| P0_8 | 0 |
| P1_4 | 1 |
| P1_5 | 2 |
| P1_6 | 3 |
| P1_9 | 4 |
| P1_10 | 5 |
| P1_15 | 6 |
| P2_7 | 7 |
Serial
Интерфейс UART0 доступен на выводах P0_5, P0_6, для работы с ним используется экземпляр класса под названием Serial.
Интерфейс UART1 доступен на выводах P1_8, P1_9, используемый экземпляр класса - Serial1.
SPI
Интерфейс SPI1 доступен на выводах P1_0, P1_1, P1_2. Для работы с ним используется экземпляр класса под названием SPI.
Интерфейс SPI0 доступен на выводах P0_0, P0_1, P0_2. Используемый экземпляр класса - SPI0.
Для корректной работы аппаратного SPI микроконтроллер так же использует выводы P1_3 при работе SPI1 и P0_3 при работе SPI0. В связи с этим данные выводы недоступны для использования при работе соответствующего SPI.
I2C
Интерфейс I2C1 доступен на выводах P1_12, P1_13, для работы с ним используется экземпляр класса под названием Wire.
Интерфейс I2C0 доступен на выводах P0_9, P0_10, используемый экземпляр класса - Wire0.