# ELBEAR ACE-NANO
Особенности работы с платами ELBEAR ACE-NANO в среде программирования ArduinoIDE.
### Функциональное назначение выводов  
![nano_pinout](nano_pinout.PNG)
### Цифровые выводы
На плате ELBEAR ACE-NANO доступен встроенный светодиод. Для его использования необходимо воспользоваться макросом `LED_BUILTIN`, передавая его в качестве аргумента функции вместо номера цифрового вывода. Макросу соответствует номер вывода D22.  
### Аналоговые выводы
Аналоговые выводы на плате могут использоваться как в аналоговом, так и в цифровом режиме.  
Для использования вывода в качестве аналогового необходимо перевести соответствующий DIP-переключатель, расположенный рядом с аналоговыми выводами, в положение OFF. В этом режиме внешнее напряжение, подаваемое на вывод, будет понижаться резистивным делителем перед подачей на микроконтроллер.  
Для использования вывода в качестве цифрового нужно перевести переключатель в положение ON. В этом случае напряжение с вывода платы передается на микроконтроллер без изменений. Выводы А5, А6, А7 недоступны для использования в качестве цифровых выводов.  
Выводы А4...А7 используют один и тот же канал АЦП, поэтому не могут использоваться одновременно.  
Для аналоговых выводов режим цифрового вывода с подтяжкой к питанию(`INPUT_PULLUP`) не дает желаемого результата, так как на этих сигналах установлена неотключаемая подтяжка к земеле (10 кОм), а подтяжка к питанию внутри микроконтроллера осуществляется резистором 50 кОм. Для реализации такого режима на аналоговых выводах необходимо использовать внешний дополнительный резистор 1...2 кОм, подключенный к питанию.  
Таблица соответствия выводов платы и номера DIP-переключателя представлена ниже. Переключатель 5 относится сразу к четырем аналоговым выводам - А4...А7.  
  
|Вывод|Номер переключателя|
|---------|---------|
|А0|1|
|А1|2|
|А2|3|
|А3|4|
|А4|5|
|А5|5|
|А6|5|
|А7|5|
  
#### ШИМ  
На плате ELBEAR ACE-NANO доступно 8 выводов для формирования ШИМ-сигнала. Генерация сигнала осуществляется с помощью 32-битного таймера. Выводы, подключенные к одному и тому же таймеру, выдают ШИМ-сигнал одинаковой частоты.  
Доступные выводы:  
  
|Цифровой вывод|Используемый таймер|
|---------|---------|
|D3|таймер 1|
|D5|таймер 1|
|D6|таймер 1|
|D9|таймер 1|
|D10|таймер 2| 
|D11|таймер 2|
|D12|таймер 2|
|D13|таймер 2|
  
Цифровые выводы D9, D10 не могут быть использованы для генерации ШИМ, если одновременно активен интерфейс SPI (при использовании экземпляра `SPI` недоступен ШИМ на выводе D10, при использовании экземпляра `SPI0` - на выводе D9). Это ограничение связано с особенностями работы микроконтроллера. Ограничение не распространяется на использование D9, D10 в качестве цифрового вывода при активном SPI. 
### Прерывания  
На плате ELBEAR ACE-NANO доступно 8 прерываний, настраиваемых функцией `void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode)`:  
  
|Цифровой вывод|Номер прерывания|
|---------|---------|
|D2|0|
|D3|1|
|D4|2|
|D5|3|
|D6|4|
|D8|5|
|D9|6|
|A1|7|

При использовании аналогового вывода A1 для работы с прерываниями необходимо предварительно перевести вывод в режим цифрового. Для этого нужно перевести DIP-переключатель номер 2 в положение ON.

### Serial
Интерфейс UART0 доступен на выводах D0, D1, для работы с ним используется экземпляр класса под названием `Serial`.  
Интерфейс UART1 доступен на выводах D7, D8, используемый экземпляр класса - `Serial1`.  

### SPI
Интерфейс SPI1 доступен на выводах D11, D12, D13. Для работы с ним используется экземпляр класса под названием `SPI`.  
Интерфейс SPI0 доступен на выводах D3, D5, D6. Используемый экземпляр класса - `SPI0`.  
  
### I2C
Интерфейс I2C1 доступен на выводах A4 и A5, для работы с ним используется экземпляр класса под названием `Wire`.  
  
## Драйверы
Для работы с платой по интерфейсу USB необходим драйвер для микросхемы CH343P, его можно скачать [здесь](https://www.wch-ic.com/downloads/CH343SER_ZIP.html).  
Подготовка к работе по интерфейсу JTAG и инструкция по записи начального загрузчика есть [здесь](Instructions.md).