https://drive.google.com/drive/folder...
bat файл cmd Arduino вывод данных в окне командной строки или в текстовый файл
1_bat - файл - вывод данных - в окне командной строки
2_bat - файл - вывод данных - в текстовый файл В текущей папке
3_bat - файл - вывод данных - в текстовый файл с указанием пути к файлу
DATE_TIME.ino
@: bat - файл - вывод данных - в окне командной строки
@: Arduino вывод данных в командную строку cmd тест
@: Arduino output data to command line cmd test
@: К сожалению, существуют ограничения перенаправления вывода, которые не позволяют одновременно
@: отображать вывод и в окне командной строки, и сохранять их в текстовый файл.
@: символа "^" является перенос строк.
@: команды "^" должны быть разделены пробелом невидимым символом Что делает очень неудобным написание команд
@: в обычном текстовом редакторе блокноте
@: команда @echo off отключит вывод команд на экран
заменил угловые скобки на символы юникода - YouTube не не разрешает угловые скобки в описание.
◄ ►
@echo off
:test
powershell $port= new-Object System.IO.Ports.SerialPort COM10,(9600),None,8,one; $port.open();^
$port.ReadLine();
goto test
@echo off
:test
powershell $port= new-Object System.IO.Ports.SerialPort COM10,(9600),None,8,one; $port.open();^
$port.ReadLine();^
►► "Arduino_log_%DATE%.txt"
goto test
@echo off
:test
powershell $port= new-Object System.IO.Ports.SerialPort COM10,(9600),None,8,one; $port.open();^
$port.ReadLine();^
►► C:\"Arduino_log_%DATE%.txt"
goto test
#define HH (((__TIME__[0] - '0') * 10) + __TIME__[1] - '0') // текущее часы - на компьютере.
#define MM (((__TIME__[3] - '0') * 10) + __TIME__[4] - '0') // текущее минуты - на компьютере.
#define SS (((__TIME__[6] - '0') * 10) + __TIME__[7] - '0') // текущее секунды - на компьютере.
// #define CHAR_TO_INT(x,r) (((x - '0') * 10) + r - '0')
int hh = HH; int mm = MM; int ss = SS; bool t = 0; // сохраняем в десятичном формате, часы, минуты, секунды.
void setup() {
Serial.begin(9600); Serial.println(F(__DATE__"\t"__TIME__)); // печатаем. текущею дату и время - на компьютере.
}
void loop() {
if ((round(millis() / 1000 % 2)) == t) { // если, прошла 1 секунда.
t = !t; // блокируем, до следующей секунды.
if (++ss == 61) {
++mm;
ss = 0;
}
if (mm == 60) {
++hh;
mm = 0;
if (hh == 24)hh = 0;
}
Serial.print(F("DATE""\t"__DATE__"\t""hh-")); Serial.print(hh); Serial.print(F("\t""mm-"));
Serial.print(mm); Serial.print(F("\t""ss-")); Serial.println(ss);
}
}
Ссылка на видео:
• bat файл cmd Arduino вывод данных в о...