Лёгкая библиотека для работы с последовательным портом
- Практически полный аналог Serial, но гораздо легче
ATmega328 и прочие из этого поколения
- Библиотеку можно найти по названию GyverUART и установить через менеджер библиотек в:
- Arduino IDE
- Arduino IDE v2
- PlatformIO
- Скачать библиотеку .zip архивом для ручной установки:
- Распаковать и положить в C:\Program Files (x86)\Arduino\libraries (Windows x64)
- Распаковать и положить в C:\Program Files\Arduino\libraries (Windows x32)
- Распаковать и положить в Документы/Arduino/libraries/
- (Arduino IDE) автоматическая установка из .zip: Скетч/Подключить библиотеку/Добавить .ZIP библиотеку… и указать скачанный архив
- Читай более подробную инструкцию по установке библиотек здесь
- Рекомендую всегда обновлять библиотеку: в новых версиях исправляются ошибки и баги, а также проводится оптимизация и добавляются новые фичи
- Через менеджер библиотек IDE: найти библиотеку как при установке и нажать "Обновить"
- Вручную: удалить папку со старой версией, а затем положить на её место новую. "Замену" делать нельзя: иногда в новых версиях удаляются файлы, которые останутся при замене и могут привести к ошибкам!
Нет
Как у Serial
Остальные примеры смотри в examples!
#include <GyverUART.h>
char data0 = 'b';
int8_t data1 = -50;
uint8_t data2 = 125;
int16_t data3 = -2000;
uint16_t data4 = 30000;
int32_t data5 = -70000;
uint32_t data6 = 4194967295;
float data7 = 3681.65424;
float data8 = -4375.12353;
String data9 = "LOL LOL";
const char *data10[] = {
"LOL",
"KEK",
"CHEBUREK",
};
byte data11 = 0b11101011;
uint32_t data12 = 0xFAB666;
void setup() {
uart.begin();
uart.println(data0);
uart.println(data1);
uart.println(data2);
uart.println(data3);
uart.println(data4);
uart.println(data5);
uart.println(data6);
uart.println(data7);
uart.println(data8, 3);
uart.println(data9);
uart.println("KEK KEK");
uart.println(F("KEK KEK MACRO"));
uart.println(data10[2]);
uart.println(data11, BIN);
uart.println(data12, HEX);
}
void loop() {
}
- v1.2 - добавлен циклический буфер
- v1.3 - поправлен вывод float и добавлен вывод с базисом
- v1.4 - либа собрана в класс, добавлена readStringUntil
- v1.5 - добавлен буфер на отправку и flush
- v1.6 - ускорена запись и чтение
- v1.7 - чуть оптимизирован код
- v1.8 - пофикшен write (спасибо eugenebartosh)
- v1.9 - пофикшен write + оптимизация + поддержка USART0 atmega2560 (by Siliverst)
- v1.10 - вывод переведён на Print.h. Размер стал чуть больше, но будет меньше при работе с другими либами на Print.h
При нахождении багов создавайте Issue, а лучше сразу пишите на почту [email protected]
Библиотека открыта для доработки и ваших Pull Request'ов!
При сообщении о багах или некорректной работе библиотеки нужно обязательно указывать:
- Версия библиотеки
- Какой используется МК
- Версия SDK (для ESP)
- Версия Arduino IDE
- Корректно ли работают ли встроенные примеры, в которых используются функции и конструкции, приводящие к багу в вашем коде
- Какой код загружался, какая работа от него ожидалась и как он работает в реальности
- В идеале приложить минимальный код, в котором наблюдается баг. Не полотно из тысячи строк, а минимальный код