42 lines
1.9 KiB
Markdown
42 lines
1.9 KiB
Markdown
# 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
|