From 27d96d7f358bfe275227e4b0feec8b0cd4104afc Mon Sep 17 00:00:00 2001 From: klassents Date: Wed, 16 Oct 2024 08:02:28 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 1e02d09..07f6690 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ ADC Разрешение встроенного в МИК32 АЦП составляет 12 бит, но возможно изменение разрешения в пределах от 1 до 32 бит с помощью функции analogReadResolution(). Разрешение АЦП по умолчанию составляет 10 бит. Функция analogRead() возвращает результаты измерения после усреднения по 10 значениям. ШИМ одновременно с разными частотами можно использовать только выводы, сидящие на разных таймерах. На таймере 1 - 3, 5, 6, 9. На таймере 2 - 10, 11. +D10 не может быть использован, если работает SPI. ### Прерывания На плате Elbear Ace-Uno доступно 6 выводов, позволяющих использовать прерывания с помощью функции attachInterrupt(). Это выводы D2, D3, D4, D5, D8, D9. Дополнительно доступно прерывание по встроенной кнопке при использовании макроса BTN_BUILTIN. @@ -26,20 +27,22 @@ ADC Общая функция-обработчик прерываний располагается в RAM памяти. Это позволяет устраненить задержки, связанных с кэшированием памяти при работе из FLASH памяти. Обработчики прерываний, назначаемые цифровым выводам с помощью функции attachInterrupt(), а так же обработчик прерывания для функции tone() так же располагаются в памяти RAM. ### Serial -доступно два штуки, оба работают. Как использовать второй UART. +Для работы доступно два последовательных интерфейса. Первый интерфейс выведен на выводы D0, D1, для работы с ним используется экземпляр класса под названием Serial. Второй интерфейс доступен на выводах D7, D8, используемый экземпляр класса - Serial1. +Доступны следующие настройки режима работы каждого интерфейса: длина данных - 7 или 8 бит; четность - нет, четное, нечетное; стоп бит - 1 или 2 бита. ### Предупреждения об ошибках -Варнинги от ErrorMsgHandler и как их можно отключить. Включение/отключение сообщений об ошибках DISABLE_ERROR_MESSAGES(); +Если в скетче используется первый последовательный интерфейс Serial, при возникновении ошибок при использовании какой-либо функции из пакета в порт может передаваться сообщение об этой ошибке с пояснением. Например, если в функцию будет передан некорректный номер цифрвого вывода, предупреждение об этом появится в подключенном com порту. +По умолчанию вывод предупреждений включен. Если интерфейс Serial используется для коммуникации с другим устройством, вывод предупреждений можно отключить. Для этого в самом начале функции setup() необходимо вызвать макрос `DISABLE_ERROR_MESSAGES();`. Вывод предупреждений можно включить обратно, вызвав макрос `ENABLE_ERROR_MESSAGES();` в любом месте программы. ### Библиотеки, входящие в состав пакета Входящие в состав пакета библиотеки используют периферию микроконтроллера MIK32 и адаптированы для работы с ним. |Библиотека|Описание|Заметки| |---------|---------|------| -|[SPI](https://docs.arduino.cc/language-reference/en/functions/communication/SPI/)|Библиотека для работы с интерфейсом SPI. Входит в состав bsp| Для работы используется встроенный SPI1. Доступные делители частот - SPI_CLOCK_DIV4, SPI_CLOCK_DIV8, SPI_CLOCK_DIV16, SPI_CLOCK_DIV32, SPI_CLOCK_DIV64, SPI_CLOCK_DIV128,SPI_CLOCK_DIV256, обеспечивают частоту работы от 125 кГц до 8 МГц. Скорость работы по умолчанию - 4 МГц. Для задания режима и скорости работы рекомендуется использовать функцию SPISettings(), а не отдельные соответствующие функции.| -|[Wire](https://docs.arduino.cc/language-reference/en/functions/communication/Wire/)|Библиотека для работы с интерфейсом I2C. Входит в состав bsp|Для работы используется встроенный I2C1. Доступные частоты работы интерфейса: 100 кГц (WIRE_FREQ_100K), 400 кГц (WIRE_FREQ_400K), 1000 кГц (WIRE_FREQ_1000K). Скорость работы по умолчанию - 100 кГц. В режиме работы в качестве ведомого устройства функции, заданные через onReceive() и onRequest(), выполняются в прерывании.| -|[SoftwareSerial](https://docs.aСrduino.cc/learn/built-in-libraries/software-serial/)|Библиотека, реализующая программный последовательный интерфейс. Входит в состав bsp|Доступные скорости работы - от 300 до 57600 бод. Для отправки данных (TX) можно использовать любой цифровой вывод. Для приема данных (RX) можно использовать только выводы, поддерживающие прерывания. Обработчик прерывания и связанные с ним функции располагаются в памяти RAM.| -|[EEPROM](https://docs.arduino.cc/learn/built-in-libraries/eeprom/)|Библиотека для работы с памятью EEPROM. Входит в состав bsp| Для использования доступно 1024 байта встроенной EEPROM памяти. Для корректной работы библиотеки обязательно вызывать функцию EEPROM.begin() перед началом работы с памятью.| -|[Servo](https://docs.arduino.cc/libraries/servo/)|Библиотека для работы с сервоприводом. Входит в состав bsp| Любой цифровой вывод может использоваться для управления сервоприводом| -|[NeoPixel](https://docs.arduino.cc/libraries/adafruit-neopixel/)|Библиотека для работы с адресными светодиодами. Входит в состав bsp|| +|[SPI](https://docs.arduino.cc/language-reference/en/functions/communication/SPI/)|Библиотека для работы с интерфейсом SPI| Для работы используется встроенный SPI1. Доступные делители частот - SPI_CLOCK_DIV4, SPI_CLOCK_DIV8, SPI_CLOCK_DIV16, SPI_CLOCK_DIV32, SPI_CLOCK_DIV64, SPI_CLOCK_DIV128,SPI_CLOCK_DIV256, обеспечивают частоту работы от 125 кГц до 8 МГц. Скорость работы по умолчанию - 4 МГц. Для задания режима и скорости работы рекомендуется использовать функцию SPISettings(), а не отдельные соответствующие функции.| +|[Wire](https://docs.arduino.cc/language-reference/en/functions/communication/Wire/)|Библиотека для работы с интерфейсом I2C|Для работы используется встроенный I2C1. Доступные частоты работы интерфейса: 100 кГц (WIRE_FREQ_100K), 400 кГц (WIRE_FREQ_400K), 1000 кГц (WIRE_FREQ_1000K). Скорость работы по умолчанию - 100 кГц. В режиме работы в качестве ведомого устройства функции, заданные через onReceive() и onRequest(), выполняются в прерывании.| +|[SoftwareSerial](https://docs.aСrduino.cc/learn/built-in-libraries/software-serial/)|Библиотека, реализующая программный последовательный интерфейс.|Доступные скорости работы - от 300 до 57600 бод. Для отправки данных (TX) можно использовать любой цифровой вывод. Для приема данных (RX) можно использовать только выводы, поддерживающие прерывания. Обработчик прерывания и связанные с ним функции располагаются в памяти RAM.| +|[EEPROM](https://docs.arduino.cc/learn/built-in-libraries/eeprom/)|Библиотека для работы с памятью EEPROM| Для использования доступно 1024 байта встроенной EEPROM памяти. Для корректной работы библиотеки обязательно вызывать функцию EEPROM.begin() перед началом работы с памятью.| +|[Servo](https://docs.arduino.cc/libraries/servo/)|Библиотека для работы с сервоприводом| Любой цифровой вывод может использоваться для управления сервоприводом| +|[NeoPixel](https://docs.arduino.cc/libraries/adafruit-neopixel/)|Библиотека для работы с адресными светодиодами|| ## Протестированные библиотеки |Библиотека|Описание|Заметки|