- добавлена поддержка платы 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>
90 lines
6.4 KiB
Markdown
90 lines
6.4 KiB
Markdown
# 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. |