- добавлена поддержка платы ELBEAR ACE-NANO; - добавлена поддержка плат ELSOMIK OEM и SE; - добавлена возможность работы в режиме отладки для всех плат, входящих в состав пакета. Доступно для версии ArduinoIDE 2 и выше; - добавлена поддержка библиотеки FreeRTOS; - добавлена поддержка библиотеки IRremote; - добавлена поддержка библиотеки OneWire; - добавлена поддержка аппаратного I2C0 для плат START-MIK32 и ELSOMIK. Для работы с ним доступен экземпляр класса Wire1; - добавлена поддержка аппаратного SPI0 для всех плат, входящих в пакет. Для работы с ним доступен экземпляр класса SPI1; - увеличено быстродействие функций digitalWrite, digitalRead; - исправлены известные ошибки. Co-authored-by: KlassenTS <klassen@elron.tech> Co-committed-by: KlassenTS <klassen@elron.tech>
6.4 KiB
ELSOMIK
Особенности работы с платой ELSOMIK в среде программирования ArduinoIDE.
Функциональное назначение выводов для плат ELSOMIK OEM и ELSOMIK SE
| Номер вывода | Доступные функции | Номер вывода | Доступные функции |
|---|---|---|---|
| P0_0 | PWM, MISO0 | P1_0 | PWM, MISO1 |
| P0_1 | PWM, MOSI0 | P1_1 | PWM, MOSI1 |
| P0_2 | PWM, SCLK0, ADC2 | P1_2 | PWM, SCLK1 |
| P0_3 | PWM, NSS0 | P1_3 | PWM, NSS1 |
| P0_4 | ADC3 | P1_4 | INT1 |
| P0_5 | RX0 | P1_5 | ADC0, INT2 |
| P0_6 | TX0 | P1_6 | INT3 |
| P0_7 | ADC4 | P1_7 | ADC1 |
| P0_8 | INT0 | P1_8 | RX1 |
| P0_9 | SDA0, ADC5 | P1_9 | TX1, INT4 |
| P0_10 | SCL0 | P1_10 | INT5 |
| P0_11 | TDI, ADC6 | P1_11 | REF |
| P0_12 | TCK | P1_12 | SDA1 |
| P0_13 | TMS, ADC7 | P1_13 | SCL1 |
| P0_14 | TRST | P1_14 | - |
| P0_15 | TDO | P1_15 | INT6 |
| P2_6 | - | P2_7 | INT7 |
Загрузка скетчей
На плате отсутствуют встроенные преобразователи, позволяющие загружать скетчи по USB через COM-порт, однако каждая плата поставляется с предварительно записанным начальным загрузчиком. Для записи скетчей через USB потребуется использование внешнего USB-UART преобразователя, подключаемого к выводам платы P0_5 (RX0) и P0_6 (TX0), которые соответствуют интерфейсу UART0. Перед загрузкой скетча необходимо кратковременно ввести контроллер в состояние RESET. Если используется USB-UART преобразователь с выведенным сигналом DTR, необходимо соединить DTR с выводом RST на плате через керамический конденсатор емкостью от 0,47 мкФ до 2,2 мкФ. В случае отсутствия сигнала DTR, необходимо вручную соединить вывод RST платы с землей и отпустить его непосредственно перед началом записи скетча.
Цифровые выводы
Выводы на плате 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 формирование ШИМ сигнала на выводах P1_0 ... P1_3 недоступно.
Прерывания
На плате 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. Используемый экземпляр класса - SPI1.
Для корректной работы аппаратного SPI микроконтроллер так же использует выводы P1_3 при работе SPI1 и P0_3 при работе SPI0. В связи с этим данные выводы недоступны для использования при работе соответствующего SPI.

