Обновление `Arduino`

This commit is contained in:
Alexander Popov 2024-05-04 23:17:18 +03:00
parent 3c5f55f5f6
commit 0a33eb02ea
Signed by: iiiypuk
GPG Key ID: E47FE0AB36CD5ED6
10 changed files with 46 additions and 33 deletions

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="720" height="490" stroke="#00979c"><g fill="none"><path d="M174 30C78.9 22.43-1 135 38 222c38 94.4 181 120 249 44.4 65.9-64.6 91.3-164 172-215 82-56 214-3.12 230 96.4 15.6 95.3-87.1 188-180 160-68.7-15.5-118-74.2-146-136-34.5-59-79.6-122-150-138-12.5-2.84-25.4-3.96-38.2-3.94z" stroke-width="59"/><path d="m118 165h120" stroke-width="25"/><path d="m486 165h100m-51-50v100" stroke-width="32"/></g><path d="M84 485l-6.4-23H37l-6.6 23H8.7l34.4-116h30.6l34.4 116zm-26.4-95l-15.3 54.1h30.4zM180 485s-11.7-27.6-18.3-41c-3.83-5.76-11.4-8.02-18-7.1-.6 15.7-.48 48.1-.48 48.1h-21.9V369s33-.97 49.4 1.2c34.7 3.92 37 54.4 2.13 59.7 6.54 2.6 10.5 8.65 13.3 14.8l17.5 36.2c1.23 2.48 1.2 4.4-2.34 4.38zm-5.42-82.1c-.1-17.9-18-15.9-31.3-16v32.8c15.7.53 31-1.07 31.3-16.8zM302 455c-10.6 24.5-33.8 30.2-55.8 29.8h-26.9v-116l40.9.2c50.6 1.65 52.4 56.2 41.7 86.4zm-28-61.3c-10.2-8.76-21.4-6.97-32.8-6.97v79.7c10 0 20.9.8 29.4-5.4 18.1-11.4 15.8-54.6 3.35-67.3zM407 442c2.17 58.6-81.5 58.4-84 12.7-1.53-14-.27-28-.68-42v-44.2h21.9l.4 83c2.57 22.9 33 20.9 37.6 8.2 4.66-10.1 2.5-21.5 2.98-32.3v-58.9h21.9V442zm21-56v-17.9h73.5V386h-25.6v80.4h25.6v18.1H428v-18.1h25.6V386zm155 99l-37.6-84.4V485h-19.9V369h26.9l37.4 83.6c.1-6 .04-83.6.04-83.6h19.9v116zm117-10c-24.3 20.9-66.7 16.3-75.1-24.9-11.5-62.6 22.4-98.6 69.6-77.6 29 16.3 27.4 83.4 5.5 103zm-29.3-88.7c-20.7-.55-23.7 20.6-24.5 30.8-.17 19.3-1.88 51.4 24.9 50 8.3 0 15.5-6.02 18.2-13.7 5.45-12.1 9.56-68.1-18.6-67.1zM676 13.4v2.34h5.15v13.6h2.66v-13.6h5.2V13.4zm14.8 0v15.9h2.43V15.7l4.3 13.6h2.4l4.1-13.3v13.3h2.4V13.4h-3.8l-3.9 12.7-4-12.7z" fill="#00979c"/><title>wiki:Behnam N</title></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -1,10 +1,11 @@
# Arduino
## std
![Arduino Logo](../../assets/languages/arduino.svg)
* [Пример, который возвращает дату и время компиляции скетча](compile_date_time.c)
* [Размер типов перенных в байтах](variables_sizes.ino)
* Пример работы с [EEPROM](eeprom.ino)
## Дата и время
- [`__DATE__` и `__TIME__`](date/compile_date_time.c) — Пример, который отображает дату и время компиляции скетча
- [](date/DATE_to_YYYY-MM-DD.c) — Функция для преобразования `__DATE__` в формат `ГГГГ-ММ-ДД`
## Функции
@ -12,6 +13,10 @@
## Память
### EEPROM
- [EEPROM](memory/eeprom.ino) — Пример работы с EEPROM
| Тип | Чтение из программы | Запись из программы | Очистка при перезагрузке |
|--------|---------------------|---------------------|--------------------------|
| Flash | Да, PROGMEM | Можно, но сложно | Нет |
@ -25,3 +30,12 @@ EEPROM представляет собой область памяти, сост
* 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

View File

@ -1,21 +0,0 @@
// TODO: Добавить описание
// TODO: Добавить в README.md
// Adapted from http://stackoverflow.com/questions/1765014/convert-string-from-date-into-a-time-t
// Formats __DATE__ to YYYY-MM-DD format
String ArduinoDateToDisplayDate(char const *time) {
char s_month[5];
int month, day, year;
static const char month_names[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
sscanf(time, "%s %d %d", s_month, &day, &year);
month = (strstr(month_names, s_month)-month_names)/3;
String monthText = month < 10 ? "0" + String(month) : String(month);
String dayText = day < 10 ? "0" + String(day) : String(day);
return String(year) + "-" + monthText + "-" + dayText;
}
// https://gist.github.com/djohnson001/6df673a8d7f8ac04246a

View File

@ -0,0 +1,19 @@
// Adapted from http://stackoverflow.com/questions/1765014/convert-string-from-date-into-a-time-t
// Formats __DATE__ to YYYY-MM-DD format
String ArduinoDateToDisplayDate(char const *time) {
char s_month[5];
int month, day, year;
static const char month_names[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
sscanf(time, "%s %d %d", s_month, &day, &year);
month = (strstr(month_names, s_month)-month_names)/3;
String monthText = month < 10 ? "0" + String(month) : String(month);
String dayText = day < 10 ? "0" + String(day) : String(day);
return String(year) + "-" + monthText + "-" + dayText;
}
// https://gist.github.com/djohnson001/6df673a8d7f8ac04246a

View File

@ -3,9 +3,9 @@
*/
void loop() {
Serial.println("Built: " __DATE__ " | " __TIME__);
/**
* Output:
* Built: Aug 16 2023 | 21:42:32
*/
Serial.println("Built: " __DATE__ " | " __TIME__);
/**
* Output:
* Built: Aug 16 2023 | 21:42:32
*/
}

View File

@ -1,5 +1,6 @@
int freeRAM() {
int free_ram() {
extern int __heap_start, *__brkval;
int v;
return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}

View File

@ -9,8 +9,7 @@ void setup() {
if (Serial.available() > 0) {
if (Serial.find(target))
Serial.println("found");
// вывести found, если было послано hello
Serial.println("found"); // выведет `found`, если получено `hello`
}
}