/*
#include <servo.h>; //подключает библиотеку Servo.h
#include "servo.h";
byte var = 5; //глобальная переменная
void setup() {
var = 50; // put your setup code here, to run once:
{
byte var; //локальная переменая
var = 50 // меняем локальную var
}
}
void loop() {
var = 70; //
{
var = 70;// меняем локальную var
}
{
byte varL = 0; // инцилизация глобальной переменой
varL++;
static byte varS = 0;
varS++;
// здесь varL всегда будет равна 1
// а varS постоянно увеличиваться
}
}
// переменая типа byte
byte val = 10;
// передаём какой-то функции, которая ожидает int
sendVal ((int)val);
void TypeOfData
var = 50; // put your setup code here, to run once:
byte var; //локальная переменая
var = 50 // меняем локальную var
var = 70; //
var = 70;// меняем локальную var
byte varL = 0; // инцилизация глобальной переменой
varL++;
static byte varS = 0;
varS++;
здесь varL всегда будет равна 1
а varS постоянно увеличиваться
String s;
String s1 = 12345; // из целого числа
String s2 = 3.14; // из float
String s3 = "text"; // из строковой константы
String s4 = F("text"); // из строковой константы c F
String s5 = 's'; // из символа
int val = 1234;
String s6 = val; // из переменной
String s7 = s6; // из другой строки
String s;
s += 12345; // из целого числа
s += 3.14; // из float
s += "text"; // из строковой константы
s += F("text"); // из строковой константы c F
s += 's'; // из символа
int val = 1234;
s += val; // из переменной
s += s2; // из другой строки
String s;
s = String("Hello") + ',' + "World" + 1234 + 3.14;
Serial.println(s + "text" + 1234);
String s("hello!");
s[0] = 'H';
// Здесь s == Hello!
char c = s[1];
// здесь c == e
String s1 = "text1";
String s2 = "text2";
if (s1 == s2); // false
if (s1 == "text1"); // true
if (s2 != "text2"); // false
String myString = "lol kek 4eburek";
// заменить чебурек на пельмень
myString.replace("4eburek", "pelmen");
String myString = "lol kek 4eburek";
String chebur = myStringsubstring(8);
// строка chebur содержит в себе "4eburek"
String myString = "100500;'
int val = myString.toInt();
myString.toInt() - конвертирует и возвращает содержимое строки в тип данных int
// val теперь 10500
String s = "0123456789";
// занято 11 байт
s = "";
// всё ещё занято 11 байт
String s1 = "123";
void f(){
{
String s2 = "123";
// здесь существует и s1, и s2
}
// здесь s2 уже удалена
}
String str;
str += "Hello";
str += value;
str += 1234;
str += ", ";
str += 3.14;
String str;
str += "Hello";
str += value;
str += 1234;
str += ", ";
String str2 (3.14);
str += str2;
str += "World!"
String str;
str += "Hello";
str += value;
str += 1234;
str += ", ";
str += String(3.14);
str += str2;
str += "World!"
String str;
str += "Hello";
str += value;
str += 1234;
str += ", ";
// "расширим" строку на +5 символов, навскидку
str.reserve(str.lenfth() + 5);
// новую строку создаём в новом блоке кода
{
String str2 (3.14);
str += str2; // прибавили на пустое место
}
// здесь str2 уже выгруженаиз памяти и не мешает
str += "World!"
String str;
str += "Hello";
str += value;
str += 1234;
str += ", ";
// расширили место под строку
str.reserve(str.tength() +5);
// прибавили
str += String(3.14);
// тут "временная" строка уже удалилась из памяти
str += "World!"
String str;
str.reserv(30)
str += F("Hello");
str += value;
str += 1234;
str +=" , "
char s1[] = "hello";
char s2[] = "hello";
const char* s1 = "hello";
const char* s2 = "hello";
Serial.println("hello");
lcd.print("hello");
String s("hello");
Serial.println(F("hello"));
lcd.print(F("hello"));
char str[]= "Hello" ", " "World!";
//Перенос строк
char str[] = "Hello";
", "
"World!";
char str[] = "Hello\
, \
World!";
//Перенос строк\\
char str[] = "Строка1\nСтрока2\nСтрока3";
char str2[] = "Строка1\
\nСтрока2\
\nСтрока3";
char str3[] = "Строка1\n"
"Строка2\n"
"Строка3";
// вывод: текст "с кавычками" - удобно
Serial.println(R"(текст "с кавычками" - удобно)");
char str1[] = R"(текст
с переносами
строки)";
Serial.println(str1);
R"raw(<tag onclick="func()" class="b1">)raw"
// метку rawliteral часто можно встретить в примерах для esp8266/32.
char str2[]=R"rawliteral(<!DOCTYPE HTML><html><head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head><body>
</body>
</html>)rawliteral";
Serial.println(str2);
//Массив символов\\
char str[] = {'h', 'e', 'l', 'l', 'o', 0}; // с нулевым символом на конце
char str[] = "hello";
Serial.println(str);
str[0] = 'H'; //Выведем в монитор порта:
Serial //умеет работать с такими данными и срадостью их выведет.
//Объявление как уквзвтель\\
const char* str = "hello";
Serial.println(str);
//Массив строк\\
// объявляем массив
const char* names[] ={
"Period", // 0
"Work", // 1
"Stop", // 2
};
// выводим третий элемент
Serial.println(names[2]); // выведет Stop
char arr[к-во строк][макс.длина];
strcpy(arr[0], str);
//\\
char str[100] = "World";
sizeof(str); // вернёт 100
strlen(str); // вернёт 5
char text[] = "Hello";
strlen(text); // вернёт 5 ("читаемых" символов)
sizeof(text); // вернёт 6 (байт)
char str[] = "hello";
char str2[] = "world";
str += str2; // НЕЛЬЗЯ складывать
str = "text"; // НЕЛЬЗЯ присваивать после инициализации
if (str == str2); // НЕЛЬЗЯ сравнивать
itoa(int_data, str, base) – записывает переменную типа int int_data в строку str с базисом* base.
utoa(uint_data, str, base) – записывает переменную типа unsigned int uint_data в строку str с базисом* base.
ltoa (long_data, str, base) – записывает переменную типа long long_data в строку str с базисом* base.
ultoa (unsigned_long_data, str, base) – записывает переменную типа unsigned long unsigned_long_data в строку str с базисом* base.
dtostrf(float_data, width, dec, str) – записывает переменную типа float float_data в строку str с количеством символов width и знаков после запятой dec.
float x = 12.123;
char str[10] = "";
dtostrf(x, 4, 2, str);
// тут str == "12.12"
int y = 123;
itoa(y, str, DEC);
// тут str == "123"
float x;
char str[10] = "12.345";
x = atof(str);
// тут x == "12.345"
char str0[] = {'a', 'b', 'c'};
char str1[] = {'d', 'e', 'f'};
char str2[] = {'g', 'h', 'i'};
Serial.println(str0); // abc
Serial.println(str1); // defabc
Serial.println(str2); // ghidefabc
void callback(byte* payload,unit16_t len){
String s;
s.reserve(len + 1);
for (unit16_t i = 0; i < len; i++) s += (char)payload[i];
}
char str1[] = "hello world";
char str1[] = "goodbye";
// вставим bye после hello
strcpy (str1 + 6, str2 + 4);
// тут str1 == hello bye
char str1[] = "hello world";
char str1[] = "goodbye";
// вставим good после hello
strcpy (str1 + 6, str2, 4);
// тут str1 == hello goodd
// вторая d осталась после "world"
char str1[15] = "hello ";
char str2[] = "world ";
strcat (str1, str2);
// здесь str1 - "hello world"
byte a,b;
int c;
void setup()
{
a = 10;
b = 20;
sumFunction();
}
void loop(){
}
void sumFuction(){
c = a + b;
serial.println(c);
byte a,b;
int c;
void setup()
{
a = 10;
b = 20;
c = sumFunction();
}
void loop(){
}
void sumFuction(){
return (a + b);
}
byte a, b;
int c;
void setup () {
a = 10;
b = 20;
c = sumFunction(a, b)
}
void loop(){
}
int sumFunction(byte paramA, bytye paramB) {
return (paramA + paramB);
}
void setup() {
int a = 10;
incr(a);
}
void incr(int& var){
var += 10;
}
string toStr(int val1, float val2){
return (String) val1 + "," + val2; }
struct MyStruct {
int valSum;
int valSub;
int valMul;
};
MyStruct comppute(int val1, int val2){
MyStruct str;
str.valSum = val1 + val2;
str.valSub = val1 + val2;
str.valMul = val1 + val2;
return str;
}
void lolkek (byte cheburek);
int getMemes ();
void setyp () {
}
void loop () {
}
int getMemes () {
}
void lolkek (byte cheburek) {
}
*/
}