void setup() {
Serial.begin(9600); // Инициализация на скорости 9600 бод
}
Чтение :
void loop() {
if (Serial.available() > 0 ) {
// есть входящие данные
}
}
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available()) {
Serial.print((char)Serial.read());
// или
// char c = Serial.read();
// Serial.print(c);
}
}
void setup() {
Serial.begin(115200);
}
void loop() {
if (Serial.available()) {
Serial.println(Serial.read());
}
}
Отправьте текст abc в поле ввода монитора порта, он вернётся как коды символов 97, 98, 99 - соответствуют кодам символов из таблицы.
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available()) {
int c = Serial.read();
Serial.print(c);
}
}
такой код при отправке 1 в порт выдаст 49
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available()) {
int c = Serial.read() - '0';
Serial.print(c);
}
}
такой код при отправке 1 в порт выдаст 1
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available()) {
int c = Serial.ParseInt();
Serial.print(c);
}
}
такой код при отправке 105 в порт выдаст 105 но с небольшой задержкой
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available()) {
// float числа
float f = Serial.parseFloat();
Serial.println(f);
}
}
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available()) {
String s = Serial.readString();
Serial.println(s);
}
}
void setup() {
Serial.begin(9600);
Serial.setTimeout(50);
}
void loop() {
if (Serial.available()) {
String s = Serial.readString();
Serial.println(s);
}
}
между отправкой в монитор и получением текста обратно не будет такой заметной паузы.
void setup() {
Serial.begin(9600);
// стандартный тайм-аут
}
void loop() {
if (Serial.available()) {
String s = Serial.readStringUntil(';');
Serial.println(s);
}
}
Отправьте на МК какой-нибудь текст, например test - он вернётся с задержкой. А если отправить test; - без задержки.
void setup() {
Serial.begin(9600);
// стандартный тайм-аут
}
void loop() {
if (Serial.available()) {
String s = Serial.readStringUntil('\n');
Serial.println(s);
}
}
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available()) {
String key = Serial.readStringUntil(':');
String val = Serial.readStringUntil('\n');
Serial.println(key);
Serial.println(val);
Serial.println();
}
}
Нужно включить отправку NL в настройках монитора порта
ЗАДАНИЕ
Научиться выполнять арифметические вычисления с различными типами данных в Arduino и формировать информативный вывод результатов.Вариант | Пример 1 (целые числа) | Пример 2 (целые и вещественные) |
---|---|---|
1 | Переменные: a = 12, b = 5, c = 3 Выражение: a * b - c / 2 | Переменные: x = 4.5, y = 6, z = 2.75 Выражение: x + y * z - x / 2 |
2 | Переменные: m = 20, n = 8, k = 4 Выражение: m / n + k * 3 | Переменные: p = 7.2, q = 5, r = 1.5 Выражение: p * q - r / 2 + p |
3 | Переменные: x1 = 15, y1 = 9, z1 = 6 Выражение: x1 - y1 / z1 | Переменные: a1 = 3.14, b1 = 4, c1 = 2.5 Выражение: a1 * b1 + c1 / 2 |
4 | Переменные: s = 30, t = 10, u = 5 Выражение: s / t * u | Переменные: v = 6.25, w = 8, x = 1.2 Выражение: v + w * x - v / 2 |
5 | Переменные: p1 = 25, q1 = 5, r1 = 2 Выражение: p1 / q1 + r1 * 3 | Переменные: s1 = 5.5, t1 = 7, u1 = 3.25 Выражение: s1 * t1 - u1 / 2 |
6 | Переменные: a2 = 18, b2 = 6, c2 = 4 Выражение: a2 / b2 * c2 | Переменные: d = 4.8, e = 9, f = 2.1 Выражение: d + e * f - d / 2 |
7 | Переменные: x3 = 24, y3 = 8, z3 = 3 Выражение: x3 / y3 + z3 * 2 | Переменные: a3 = 6.7, b3 = 5, c3 = 1.5 Выражение: a3 * b3 - c3 / 2 |
8 | Переменные: w1 = 16, x1 = 4, y1 = 7 Выражение: w1 / x1 + y1 | Переменные: z1 = 8.4, a1 = 3, b1 = 2.2 Выражение: z1 * a1 - b1 / 2 |
9 | Переменные: a4 = 14, b4 = 7, c4 = 2 Выражение: a4 * b4 / c4 | Переменные: x4 = 5.6, y4 = 4, z4 = 1.8 Выражение: x4 + y4 * z4 |
10 | Переменные: m2 = 22, n2 = 11, k2 = 3 Выражение: m2 / n2 * k2 | Переменные: p2 = 9.1, q2 = 6, r2 = 2.4 Выражение: p2 - q2 * r2 / 2 |