snipplets.dev/code/Arduino/README.md

42 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Arduino
![Arduino Logo](../../assets/languages/arduino.svg)
## Дата и время
- [`__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)
## Память
### EEPROM
- [EEPROM](memory/eeprom.ino) — Пример работы с EEPROM
| Тип | Чтение из программы | Запись из программы | Очистка при перезагрузке |
|--------|---------------------|---------------------|--------------------------|
| Flash | Да, PROGMEM | Можно, но сложно | Нет |
| SRAM | Да | Да | Да |
| EEPROM | Да | Да | Нет |
EEPROM представляет собой область памяти, состоящую из элементарных ячеек
с размером в один байт (как SRAM). Объём EEPROM разный у разных моделей МК:
* ATmega328 (Arduino UNO, Nano, Pro Mini): `1 кБ`
* ATmega2560 (Arduino Mega): `4 кБ`
* ATtiny85 (Digispark): `512 Б`
* ESP8266 / ESP32: `4096 Б`
### RAM
- [EEPROM](memory/variables_sizes.ino) — Размер типов перенных в байтах
- [`free_ram()`](memory/free_ram.c) — Функция, которая возвращает количество свободной RAM
## Serial
- [`serial.find()`](memory/find.ino) — Ищет строку полученную из Serial