snipplets.dev/code/Arduino/README.md

42 lines
1.9 KiB
Markdown
Raw Normal View History

# Arduino
2024-05-04 23:17:18 +03:00
![Arduino Logo](../../assets/languages/arduino.svg)
2024-05-04 23:17:18 +03:00
## Дата и время
- [`__DATE__` и `__TIME__`](date/compile_date_time.c) — Пример, который отображает дату и время компиляции скетча
- [](date/DATE_to_YYYY-MM-DD.c) — Функция для преобразования `__DATE__` в формат `ГГГГ-ММ-ДД`
## Функции
* Функция, которая моргает встроенным светодиодом [`void init_blink(int times, int delay)`](init_blink.h)
2023-09-03 11:41:30 +03:00
## Память
2024-05-04 23:17:18 +03:00
### EEPROM
- [EEPROM](memory/eeprom.ino) — Пример работы с EEPROM
2023-09-03 11:41:30 +03:00
| Тип | Чтение из программы | Запись из программы | Очистка при перезагрузке |
|--------|---------------------|---------------------|--------------------------|
| Flash | Да, PROGMEM | Можно, но сложно | Нет |
| SRAM | Да | Да | Да |
| EEPROM | Да | Да | Нет |
EEPROM представляет собой область памяти, состоящую из элементарных ячеек
с размером в один байт (как SRAM). Объём EEPROM разный у разных моделей МК:
* ATmega328 (Arduino UNO, Nano, Pro Mini): `1 кБ`
* ATmega2560 (Arduino Mega): `4 кБ`
* ATtiny85 (Digispark): `512 Б`
* ESP8266 / ESP32: `4096 Б`
2024-05-04 23:17:18 +03:00
### RAM
- [EEPROM](memory/variables_sizes.ino) — Размер типов перенных в байтах
- [`free_ram()`](memory/free_ram.c) — Функция, которая возвращает количество свободной RAM
## Serial
- [`serial.find()`](memory/find.ino) — Ищет строку полученную из Serial