START-MIK32 в Arduino IDE
Функциональное назначение выводов

Загрузка скетчей
Для загрузки скетчей в ArduinoIDE необходимо передвинуть переключатель режима программатора на плате в положение COM. Так же необходимо установить две перемычки на разъем 5 - первой перемычкой замкнуть выводы COM_RX и MCU_TX, а второй - выводы COM_TX и MCU_RX.
Для работы с платой по интерфейсу USB не требуется установка дополнительных драйверов.
Подготовка к работе по интерфейсу JTAG описана в документации по плате START-MIK32, инструкция по записи начального загрузчика есть в разделе Запуск ELBEAR с программатором ELJTAG.
Цифровые выводы
Выводы на плате START-MIK32 пронумерованы в соответствии с их принадлежностью к определенному GPIO-порту и конкретному пину внутри порта. Чтобы использовать цифровой вывод, необходимо передать в функцию номер порта и номер пина в формате P0_1, где "0" — это номер порта, а "1" — номер пина внутри порта. Например, для инициализации вывода 5 порта 2 на выход необходимо вызвать функцию pinMode(P2_5, OUTPUT).
Для использования доступны следующие выводы: P0_0 ... P0_15, P1_0 ... P1_15, P2_0 ... P2_7.
На плате есть встроенные светодиоды и кнопка. Светодиоды подключены к выводам P0_3, P1_3. Кнопка подключена к выводу Р0_8. Для удобства при работе с ними можно воспользоваться макросами LED_BUILTIN(P0_3), LED_BUILTIN1(P1_3) и BTN_BUILTIN, передавая их в качестве аргументов функции вместо номера цифрового вывода.
АЦП
На плате доступно 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 |
ШИМ
На плате START-MIK32 в 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, недоступно.
Прерывания
На плате START-MIK32 доступно 8 прерываний, настраиваемых функцией void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode):
| Цифровой вывод | Номер прерывания |
|---|---|
BTN_BUILTIN (P0_8) | 0 |
| P1_9 | 1 |
| P0_10 | 2 |
| P1_15 | 3 |
| P0_12 | 4 |
| P0_13 | 5 |
| P0_14 | 6 |
| P0_15 | 7 |
Serial
Интерфейс UART0 доступен на выводах RX, TX и P0_5, P0_6. Для работы с ним используется экземпляр класса под названием Serial.
Интерфейс UART1 доступен на выводах P1_8, P1_9, используемый экземпляр класса - Serial1.
USB-UART преобразователь, установленный на плате, поддерживает стандартные скорости UART до 57600 бод. Нестандартные скорости должны быть кратны
12*32=384, например, 240000 бод, 768000 бод.
SPI
Интерфейс SPI1 доступен на выводах MOSI, MISO, CLK и 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 доступен на выводах SDA, SCL и P1_12, P1_13, для работы с ним используется экземпляр класса под названием Wire.
Интерфейс I2C0 доступен на выводах P0_9, P0_10, используемый экземпляр класса - Wire0.