Обновление Arduino

This commit is contained in:
2024-05-04 23:17:18 +03:00
parent 3c5f55f5f6
commit 0a33eb02ea
10 changed files with 46 additions and 33 deletions

View File

@@ -0,0 +1,27 @@
#include <EEPROM.h>
/**
* EEPROM.write(адрес, данные) пишет данные (только byte!) по адресу
* EEPROM.update(адрес, данные) обновляет (та же запись, но лучше) байт данных,
* находящийся по адресу. Не реализована для esp8266/32!
* EEPROM.read(адрес) читает и возвращает байт данных, находящийся по адресу
* EEPROM.put(адрес, данные) записывает (по факту обновляет, update) данные любого типа
* (типа переданной переменной) по адресу
* EEPROM.get(адрес, данные) читает данные по адресу
* и сам записывает их в данные указанную переменную
* EEPROM[] библиотека позволяет работать с EEPROM памятью
* как с обычным массивом типа byte (uint8_t)
*/
void setup() {
Serial.begin(9600);
Serial.println(EEPROM.read(10)); // выведет 255
Serial.println(EEPROM.get(10)); // выведет 255
Serial.println(EEPROM[10]); // выведет 255
}
void loop() {
//
}

View File

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

View File

@@ -0,0 +1,73 @@
/**
* Скетч, который выводит в Serial размер типов переменных в байтах
*/
void setup() {
Serial.begin(9600);
size_t size_variable;
int example_int;
unsigned int example_uint;
signed int example_sint;
unsigned long example_ulint;
float example_float;
double example_double;
char example_char;
char * example_string;
bool example_bool;
size_variable = sizeof(example_int);
Serial.print("int bytes size: " );
Serial.println(size_variable);
size_variable = sizeof(example_uint);
Serial.print("unsigned int bytes size: " );
Serial.println(size_variable);
size_variable = sizeof(example_sint);
Serial.print("signed int bytes size: " );
Serial.println(size_variable);
size_variable = sizeof(example_ulint);
Serial.print("unsigned long bytes size: " );
Serial.println(size_variable);
size_variable = sizeof(example_float);
Serial.print("float bytes size: " );
Serial.println(size_variable);
size_variable = sizeof(example_double);
Serial.print("double bytes size: " );
Serial.println(size_variable);
size_variable = sizeof(example_char);
Serial.print("char bytes size: " );
Serial.println(size_variable);
size_variable = sizeof(example_string);
Serial.print("char * bytes size: " );
Serial.println(size_variable);
size_variable = sizeof(example_bool);
Serial.print("bool bytes size: " );
Serial.println(size_variable);
}
void loop() {
//
}
/**
* Arduino Nano
*
* int bytes size: 2
* unsigned int bytes size: 2
* signed int bytes size: 2
* unsigned long bytes size: 4
* float bytes size: 4
* double bytes size: 4
* char bytes size: 1
* char * bytes size: 2
* bool bytes size: 1
*/