Перейти к основному содержимому

ELSOMIK в Arduino IDE

Подробную информацию о платах ELSOMIK можно найти в соответствующем разделе.

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

oem-pinout

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

se-pinout

Загрузка скетчей

На плате отсутствуют встроенные преобразователи, позволяющие загружать скетчи по 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 на плате обозначены иначе, ниже представлена таблица соответствия:

Обозначение на платеНомер вывода
TDIP0_11
TCKP0_12
TMSP0_13
TRSTP0_14
TDOP0_15

АЦП

На плате доступно 8 выводов, которые можно использовать в качестве каналов АЦП. Для работы с ними в функцию analogRead() необходимо передать номер канала или номер соответствующего цифрового вывода. Доступные каналы и их соответствие номерам выводов платы:

Цифровой выводНомер канала АЦП
P1_5A0
P1_7A1
P0_2A2
P0_4A3
P0_7A4
P0_9A5
P0_11A6
P0_13A7

ШИМ

На плате 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_80
P1_41
P1_52
P1_63
P1_94
P1_105
P1_156
P2_77

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.